禁止实例调用共享/静态方法?

时间:2010-08-27 16:33:43

标签: .net vb.net methods static shared

是否可以禁止类的实例调用共享/静态方法?

例如:

我想允许这样:

ClassName.MethodOne()

但我想不允许这样做:

Dim A As New ClassName
A.MethodOne()

这是可取的原因,在这种情况下,如果实例可以调用该方法,则语义上会造成混淆。

2 个答案:

答案 0 :(得分:2)

这在VB.Net中是不可能的。上面的代码会发出警告(BC42025),但会成功编译。唯一困难的选择是将警告切换为错误,这将防止出现此问题。

答案 1 :(得分:1)

据说它是默认警告。但有可能将其推向错误。转到VB.net项目的属性,然后转到编译选项卡,然后转到警告配置。在那里找到“实例变量访问共享成员”并将其设置为错误。现在它不会编译。