我有一些类,其中有几个方法我并不想要,但是它们存在只是因为XML序列化器需要它们。是否有办法在用户代码调用它们时生成编译时错误/警告?
我知道我可以实现IXmlSerializable,也知道我可以将这些类分离成纯数据存储类,但我并不是在问如何设计这样的系统,我只是在问是否有一种方法可以在除了XML序列化器之外的任何地方调用它们时生成编译时错误/警告...
我有一些类,其中有几个方法我并不想要,但是它们存在只是因为XML序列化器需要它们。是否有办法在用户代码调用它们时生成编译时错误/警告?
我知道我可以实现IXmlSerializable,也知道我可以将这些类分离成纯数据存储类,但我并不是在问如何设计这样的系统,我只是在问是否有一种方法可以在除了XML序列化器之外的任何地方调用它们时生成编译时错误/警告...
您可以使用[EditorBrowsable]属性从用户的智能感知中隐藏方法,并使用[Browsable]属性从属性设计器中隐藏。
我不建议使用[ObsoleteAttribute],因为它传达了与方法状态实际上是什么不同的含义。相反,请使用注释指示不应从用户代码中使用该方法。
还要记住,有很多用户将其代码编译为威胁警告作为错误,这将使他们无法编译有效的代码,在这种情况下。