“通过实例访问共享成员,常量成员,枚举成员或嵌套类型”

时间:2014-03-13 11:37:16

标签: .net vb.net warnings shared instance-variables

我想知道为什么 Visual Studio正在提出此警告:

  

通过实例访问共享成员,常量成员,枚举成员或嵌套类型

我的代码:

Dim a As ApplicationDeployment = deployment.Application.ApplicationDeployment.CurrentDeployment

If System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed Then
    If a.IsNetworkDeployed Then
        ' do something   
    End If
End If

通过实例"是什么暗示"?另外,为什么这是一个"警告"?

1 个答案:

答案 0 :(得分:12)

显示警告是一种设计选项。在C#中,使用实例(this)关键字调用静态时会抛出错误。

问题是你应该调用该对象来正确描述它是什么。

MSDN的更多有用信息。

  

通过实例变量访问共享成员可以通过模糊成员共享的事实来使您的代码更难理解。

     

(...)

     

更正此错误

     
      
  • 使用定义共享成员的类或结构的名称来访问它,如以下示例所示。

    Public Class testClass
        Public Shared Sub sayHello()
            MsgBox("Hello")
        End Sub
    End Class
    
    Module testModule
        Public Sub Main()
            ' Access a shared method through an instance variable.
            ' This generates a warning.
            Dim tc As New testClass
            tc.sayHello()
    
            ' Access a shared method by using the class name.
            ' This does not generate a warning.
            testClass.sayHello()
        End Sub
    End Module
    
  •