私は:を返す次のメソッドを持っていますXmlReader
:
public XmlReader RequestXML(string endpoint)
{
using (WebClient request = this.PrepareRequest(RestMethod.GET, null))
{
byte[] response = request.DownloadData(this.RestUrl + endpoint);
using (MemoryStream responseStream = new MemoryStream(response))
{
XmlReader xReader = XmlReader.Create(responseStream);
return xReader;
}
}
}
ただし、もちろん、これは機能しません。これはMemoryStream
、呼び出し元のコードがを使用する前にが閉じられているためXmlReader
です。を返し、XmlReader
その基になるものを処分することは可能MemoryStream
ですか?
Action<XmlReader>
内で作業を行うためのメソッドの2番目の引数としてデリゲート(または)を受け入れることを検討しましたusing
が、その設計は少し厄介なようです。