【问题标题】:Suppress obsolete warning on factory method in vb.net抑制 vb.net 中工厂方法的过时警告
【发布时间】:2011-01-21 09:42:56
【问题描述】:

是否可以防止由返回过时类的实例的静态工厂方法引起的编译器警告?

例如,如果通过静态方法 (Create) 创建过时类 (Foo) 的实例,则工厂方法会导致编译器警告。

<Obsolete()> _
Public Class Foo

    Public Shared Function Create() As Foo
        ' Instantiate and return
    End Function
End Class

在 C# 中,可以使用“#pragma warning...”来抑制警告,但我认为这在 VB.Net 中不存在。由于业务需求,不能迁移到 C#。

【问题讨论】:

    标签: vb.net factory obsolete


    【解决方案1】:

    我认为你必须用记事本打开 .vbproj 文件,搜索 NoWarn-Tag 并在其中添加错误 ID(618 应该是过时警告):

    <NoWarn>618,42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
    

    【讨论】:

    • 618 是 C# 编译器的错误代码,在 VB 中为 40000。不幸的是,这将阻止项目中各处的警告,而不仅仅是工厂方法引起的错误。我正在寻找只能在工厂方法中防止警告的东西。我能想到的唯一选择是将过时的消息作为错误提出,然后删除工厂方法。这将是一个我宁愿避免的重大变化。
    猜你喜欢
    • 1970-01-01
    • 2019-03-17
    • 2020-03-09
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 2012-08-13
    • 2023-03-22
    相关资源
    最近更新 更多