C# 调查XMLReader对象

C# 调查XMLReader对象,c#,xml,xmlreader,C#,Xml,Xmlreader,我问了一个关于如何在调试时调查XMLWriter对象的内容的问题。 我试图检查XmlReader对象的内容,该对象是从内存流中创建的,其方式与链接问题的答案类似。但是我得到了未经授权的访问异常声明无法访问MemoryStream的内部缓冲区。如何验证从MemoryStream读取的xml public PInfo(byte[] pBytes) { MemoryStream pMem = new MemoryStream(pBytes); XmlReader reader

我问了一个关于如何在调试时调查
XMLWriter
对象的内容的问题。 我试图检查
XmlReader
对象的内容,该对象是从内存流中创建的,其方式与链接问题的答案类似。但是我得到了
未经授权的访问异常
声明
无法访问MemoryStream的内部缓冲区。
如何验证从MemoryStream读取的xml

public PInfo(byte[] pBytes)
{   
    MemoryStream pMem  = new MemoryStream(pBytes);
    XmlReader reader = XmlReader.Create(pMem);

      //MemoryStream's internal buffer cannot be accessed.  
      string s = Encoding.UTF8.GetString(pMem.GetBuffer(), 0, (int)pMem.Position); 
      ....

}

查看您正在使用的特定构造函数的MSDN文档。当您以这种方式实例化它时,
GetBuffer()
将抛出该异常,因为缓冲区实际上不可见。您应该改为使用,并确保将
publilyvisible
设置为
true

MemoryStream pMem=newmemoryStream(pBytes,0,pBytes.Length,true,true)成功了。谢谢