有没有一种标准的方法来确定为什么一个类被标记为过时(除了人类输入谷歌之类的东西等)?如果您偶然发现有关某些事情已被淘汰的警告,则需要提供明显的下一部分信息。
答案 0 :(得分:2)
ObsoleteAttribute
有一个Message
属性。
获取变通方法消息,包括备用程序元素的描述。
使用过时类型或成员时,此消息将显示在编译器警告消息中。例如(以粗体突出显示的Message
):
'System.IO.FileStream.FileStream(System.IntPtr,System.IO.FileAccess)'已过时:'“此构造函数已被弃用。请改用新的FileStream(SafeFileHandle句柄,FileAccess访问)。 http://go.microsoft.com/fwlink/?linkid=14202 强>“'
不幸的是,我认为.NET通常不包含非常具有描述性的消息,因此如果您需要更多信息,尤其是为什么,最好咨询MSDN或Google。 / p>
答案 1 :(得分:1)
如果您偶然发现有关某件事已经过时的警告,则需要提供明显的下一部分信息。
是的,这就是Message
属性的意思。
例如,请参阅Noda Time中的this example:
[Obsolete("Use FromMilliseconds instead. This method's name was a typo [...]")]
public static Period FromMillseconds(long milliseconds)
当成员过时时,几乎总是总是包含一条消息,告诉人们应该如何避免过时的成员。