变量“<variablename>”在赋值前按引用传递(结构变量)

变量“<variablename>”在赋值前按引用传递。 可能在运行时导致 null 引用异常。 请确保在使用前对结构或所有引用成员进行了初始化

在为结构变量赋值前,过程调用将变量作为实参传递给 ByRef 形参。

如果从未为结构变量赋值,则每个结构成员保持其数据类型的默认值。 对于引用数据类型,默认值是 Nothing。 在某些情况下,读取具有 Nothing 值的引用成员可能导致 NullReferenceException

将参数传递给过程 ByRef ,将使该过程能够修改以该参数的基础变量。

默认情况下,此消息是一个警告。 有关隐藏警告或将警告视为错误的详细信息,请参阅 Configuring Warnings in Visual Basic

错误 ID: BC42108

更正此错误

  • 如果想让过程通过 ByRef 参数为结构成员赋值而成员是否已持有值并不重要,则无需进行任何操作。

  • 如果过程中的逻辑在赋值之前读取结构成员,且该成员是值类型,请确保过程逻辑不取决于成员是否持有其默认值。

  • 如果过程中的逻辑在赋值之前读取结构成员,且该成员是值类型,请确保过程逻辑能处理 Nothing值。 例如,它可以使用 Try...Catch...Finally 语句 来捕获 NullReferenceException

另请参阅