是否已弃用或废弃XmlReader.ReadString?

时间:2014-01-16 22:22:18

标签: c# xml-serialization

我想使用System.Xml.XmlReader.ReadString(),但我注意到它没有出现在Intellisense中,因为该函数是用[EditorBrowsable(EditorBrowsableState.Never)]修饰的。尽管没有被标记为[Obsolete],但我认为微软不希望我使用它。

我在MSDN上找不到这个。我应该用什么呢?在ILSpy中,我看到ReadElementContentAsString()ReadContentAsString()。这是我想要使用的吗?我正在使用.Net 4.5。

如果它是相关的,这个问题是由这个答案提示的:https://stackoverflow.com/a/625463/47589

1 个答案:

答案 0 :(得分:6)

isn't deprecated。我认为你的推理是正确的。框架开发人员可能将其标记为[EditorBrowsable(EditorBrowsableState.Never)],以便它不会显示在intellisense中,并“轻推”您使用更好的替代方案,可能ReadContentAsString

根据C# In a Nutshell

  

ReadStringReadElementString的行为类似ReadContentAsString   和ReadElementContentAsString,除了他们扔了一个   Exception如果其中包含多个单个文本节点   元件。一般来说,这些方法应该避免,因为他们抛出了   如果元素包含注释,则为异常。

也许这就是你在IL中看到ReadContentAsString的原因,因为框架内部将所有调用转换为ReadStringReadContentAsString,而框架开发人员故意隐藏ReadString intellisense。

参见相关内容:System.ComponentModel.EditorBrowsable was written by idiots