VB.NET 4.0中的类中的方法类型

时间:2014-02-27 17:33:29

标签: asp.net vb.net

一位朋友问我这个,不知道该怎么理解。推荐一个简单的答案。

他有以下

Public Class TestClass Public Sub Setup() MsgBox ("Hello") End Sub End Class

基于该示例,与TestClass类相关的是什么类型的成员?

我认为它可能是一个实例成员。因为类只是类中实例(方法,属性等)的集合。

正确?

2 个答案:

答案 0 :(得分:1)

这是一个实例方法,而不是类方法static方法)。

  

当字段,方法,属性,事件,索引器,构造函数或析构函数声明不包含静态修饰符时,它声明实例成员。

更多信息here

最初我的回答是说一个成员和一个领域是一样的。根据上面的MSDN链接,这不完全正确所以我调整了它。您还会注意到他们使用术语静态成员而不是实例成员

术语是一个非常棘手的主题,您会注意到人们对同一主题使用了许多不同的描述。当你考虑其他语言和那里的术语时,这会进一步放大。

答案 1 :(得分:0)

这是一个实例方法,但不是因为类是实例的集合

这是一个实例方法,因为TestClass不是共享的(静态的),必须实例化。也就是说,必须有一个TestClass实例可以使用它的方法Setup()。相反,使用Shared类,您不需要TestClass的实例来使用Setup(),它将是一个Shared方法而不是实例方法。

然而,这是学术性的,因为VB不支持静态类(共享类),但支持共享方法,有效的区别在于将Setup()声明为Public使其成为实例方法,或将其声明为Shared使它成为一种静态方法。