是否可以禁止类的实例调用共享/静态方法?
例如:
我想允许这样:
ClassName.MethodOne()
但我想不允许这样做:
Dim A As New ClassName
A.MethodOne()
这是可取的原因,在这种情况下,如果实例可以调用该方法,则语义上会造成混淆。
答案 0 :(得分:2)
这在VB.Net中是不可能的。上面的代码会发出警告(BC42025),但会成功编译。唯一困难的选择是将警告切换为错误,这将防止出现此问题。
答案 1 :(得分:1)
据说它是默认警告。但有可能将其推向错误。转到VB.net项目的属性,然后转到编译选项卡,然后转到警告配置。在那里找到“实例变量访问共享成员”并将其设置为错误。现在它不会编译。