我有以下方法返回一个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>
在我的方法中接受委托(或)作为第二个参数来完成 中的工作using
,但这种设计似乎有点尴尬。