您尝试从共享过程中引用类的非共享成员。 以下示例演示了这种情况:
Class Sample
Public x as Integer
Public Shared Sub SetX()
x = 10
End Sub
End Class
在前面的示例中,赋值语句 x = 10 生成此错误消息。 这是因为共享过程正在尝试访问实例变量。
该变量 x 是实例成员,因为它未声明为 “共享”。 类 Sample 的每个实例都包含其自己的单个变量 x。 当一个实例设置或更改其值 x时,它不会影响任何其他实例中的值 x 。
但是,该过程 SetX 属于 Shared 类 Sample的所有实例之一。 这意味着它与类的任何一个实例无关,而是独立于单个实例运行。 由于它与特定实例没有连接, setX 因此无法访问实例变量。 它只能对 Shared 变量进行作。 当设置或更改共享变量的值时 SetX ,该新值可用于该类的所有实例。
错误 ID: BC30369
更正此错误
确定是否希望成员在类的所有实例之间共享,还是为每个实例保留单独的成员。
如果希望成员的单个副本在所有实例之间共享,请将
Shared关键字添加到成员声明。Shared在过程声明中保留关键字。如果希望每个实例都有自己的成员单独副本,请不要为成员声明指定
Shared。Shared从过程声明中删除关键字。