无法访问DLL中的方法

时间:2015-12-08 17:23:00

标签: vb.net oop

使用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获取任何子/函数。我究竟做错了什么?谢谢!

2 个答案:

答案 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)

确保您导入常见内容的命名空间。