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

.net 禁止实例调用共享/静态方法?,.net,vb.net,methods,static,shared,.net,Vb.net,Methods,Static,Shared,是否可以禁止类的实例调用共享/静态方法 例如: 我想允许这样做: ClassName.MethodOne() Dim A As New ClassName A.MethodOne() 但我不想这样: ClassName.MethodOne() Dim A As New ClassName A.MethodOne() 这样做的原因是,在这种情况下,如果一个实例可以调用该方法,则会在语义上造成混淆。不,这在VB.Net中是不可能的。上述代码将发出警告(BC42025),但将成功编译。唯一困难

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

例如:

我想允许这样做:

ClassName.MethodOne()
Dim A As New ClassName
A.MethodOne()
但我不想这样:

ClassName.MethodOne()
Dim A As New ClassName
A.MethodOne()

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

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

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