【问题标题】:Prohibit an Instance from calling Shared/Static Method?禁止实例调用共享/静态方法?
【发布时间】:2023-03-27 09:02:02
【问题描述】:

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

例如:

我想允许这样做:

ClassName.MethodOne()

但我想禁止这样做:

Dim A As New ClassName
A.MethodOne()

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

【问题讨论】:

    标签: .net vb.net methods static shared


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2010-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-10
        • 1970-01-01
        • 2012-11-12
        相关资源
        最近更新 更多