2014-01-16 18 views
5

私はSystem.Xml.XmlReader.ReadString()を使いたいと思っていますが、この機能は[EditorBrowsable(EditorBrowsableState.Never)]で装飾されているため、Intellisenseには表示されません。 [Obsolete]と表示されていないにもかかわらず、Microsoftは私にそれを使用させたくないと思う。XmlReader.ReadStringは廃止または廃止されましたか?

MSDNでこれについての説明が見つかりません。代わりに私は何を使用すべきですか? ILSpyでは、ReadElementContentAsString()ReadContentAsString()を参照してください。代わりにこれを使用したいのですか?私は.Net 4.5を使用しています。

それは、関連だ場合は、この質問は、この答えによって促されました:https://stackoverflow.com/a/625463/47589

答えて

3

それはisn't deprecated。私はあなたの推論が正しいと思います。フレームワークの開発者は[EditorBrowsable(EditorBrowsableState.Never)]とマークし、インテリセンスには表示されないようにし、より良い選択肢を使用するように「ナッジ」します(おそらくReadContentAsString)。

C# In a Nutshellによると、

ReadStringReadElementString 要素内単一テキストノードよりも多くがあります場合、彼らは Exceptionを投げることを除いて、ReadContentAsStringReadElementContentAsStringのように振る舞います。一般に、要素にコメントが含まれている場合は、 例外がスローされるため、これらのメソッドは使用しないでください。

あなたがReadContentAsStringを見ている理由フレームワークは、内部ReadContentAsStringReadStringにすべてのコールに変換され、フレームワークの開発者が意図的にインテリセンスからReadStringを隠したので、多分それは、IL中です。

関連項目:System.ComponentModel.EditorBrowsable was written by idiots

+0

もっと良い方法はありますか? – Amy

+1

1000ポイントが与えられました。ニースの答えの男 –

関連する問題