私は:を返す次のメソッドを持っています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が、その設計は少し厄介なようです。