我想使用System.Xml.XmlReader.ReadString()
,但我注意到它没有出现在Intellisense中,因为该函数是用[EditorBrowsable(EditorBrowsableState.Never)]
修饰的。尽管没有被标记为[Obsolete]
,但我认为微软不希望我使用它。
我在MSDN上找不到这个。我应该用什么呢?在ILSpy中,我看到ReadElementContentAsString()
和ReadContentAsString()
。这是我想要使用的吗?我正在使用.Net 4.5。
如果它是相关的,这个问题是由这个答案提示的:https://stackoverflow.com/a/625463/47589
答案 0 :(得分:6)
isn't deprecated。我认为你的推理是正确的。框架开发人员可能将其标记为[EditorBrowsable(EditorBrowsableState.Never)]
,以便它不会显示在intellisense中,并“轻推”您使用更好的替代方案,可能ReadContentAsString
。
ReadString
和ReadElementString
的行为类似ReadContentAsString
和ReadElementContentAsString
,除了他们扔了一个Exception
如果其中包含多个单个文本节点 元件。一般来说,这些方法应该避免,因为他们抛出了 如果元素包含注释,则为异常。
也许这就是你在IL中看到ReadContentAsString
的原因,因为框架内部将所有调用转换为ReadString
到ReadContentAsString
,而框架开发人员故意隐藏ReadString
intellisense。
参见相关内容:System.ComponentModel.EditorBrowsable was written by idiots