使用asp.net/vb.net。创建了一个包含2个项目的解决方案,#34; MainProject"和" MyCommonStuff"。第二个项目(" MyCommonStuff")实际上是一个常见的实用程序类,我希望它也能用于其他项目。
MyCommonStuff定义非常简单......
Public Class MyCommonStuff Stuff
Public Shared Function GetInfo() as string
:
:
End Function
Public Shared Sub Test
:
:
End Sub
:
End Class
在MainProject中,我设置了对这个MyCommonStuff项目的引用。
我想在我的代码中访问一些MyCommonStuff方法。但由于某些原因,这些方法尚未得到认可。
例如,在MainProject中的一个按钮中,我尝试了这个....
dim m as new MyCommonStuff
x = m.GetInfo()
Intellisense没有为m获取任何子/函数。我究竟做错了什么?谢谢!
答案 0 :(得分:3)
问题是你已经使你的方法保持静态("共享"在VB中)。您需要 删除Shared
关键字:
Public Function GetInfo() As String
':
':
End Function
Public Sub Test()
':
':
End Sub
或保留Shared
个关键字,并按照以下方式使用:
x = MyCommonStuff.GetInfo()
Here is some information about Shared
members。最值得注意的是:
指定一个或多个声明的编程元素 与一般的类或结构相关联,而不是与特定的相关联 类或结构的实例。
换句话说,如果您想使用MyCommonStuff
类的实例中的方法,例如m
中的m.GetInfo()
,您需要关闭Shared
关键字。另一方面,如果您的方法在您的课程的所有实例中很常见,或者您甚至不需要实例,那么使用Shared
关键字并访问上述方法,例如MyCommonStuff.GetInfo()
。
答案 1 :(得分:1)
确保您导入常见内容的命名空间。