如何解决VB.NET:使用类名作为表达式
| 我不确定是否可行,但是我想将类名称引用与共享成员方法/属性/变量关联。考虑:Public Class UserParameters
Public Shared Reference As Object
Public Shared Function GetReference() As Object
Return Reference
End Function
End Class
在程序的另一部分中,我想简单地调用UserParameters,并通过别名GetReference或直接给变量赋值来返回Reference。
我正在尝试模拟Application,Request或Session变量:
会话(0)= Session.Item(0)
任何建议将不胜感激。
解决方法
您不能直接从静态方法返回实例成员(静态方法无法访问实例成员,因为它没有在类的其余部分实例化,只有一个静态方法副本存在)。
如果需要以可以从静态方法返回实例的方式设置类,则需要执行以下操作:
Public Class SampleClass
Private Sub New()
\'Do something here
End Sub
Public Shared Function GetSample() As SampleClass
Dim SampleClass As SampleClass
SampleClass = New SampleClass
SampleClass.Sample = \"Test\"
Return SampleClass
End Function
Private _SampleString As String
Public Property Sample As String
Get
Return _SampleString
End Get
Private Set(ByVal value As String)
_SampleString = value
End Set
End Property
End Class
Public Class SampleClass2
Public Sub New()
\'Here you can access the sample class in the manner you expect
Dim Sample As SampleClass = SampleClass.GetSample
\'This would output \"Test\"
Debug.Fail(Sample.Sample)
End Sub
End Class
此方法在CLR中的各个位置使用。如System.Net.WebRequest类。在用法中以这种方式实例化的位置:
\' Create a request for the URL.
Dim request As WebRequest = WebRequest.Create(\"http://www.contoso.com/default.html\")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。