XmlSerializer.CanDeserialize(XmlReader) 方法

定义

获取一个值,该值指示此 XmlSerializer 是否可以反序列化指定的 XML 文档。Gets a value that indicates whether this XmlSerializer can deserialize a specified XML document.

public:
 virtual bool CanDeserialize(System::Xml::XmlReader ^ xmlReader);
public virtual bool CanDeserialize (System.Xml.XmlReader xmlReader);
abstract member CanDeserialize : System.Xml.XmlReader -> bool
override this.CanDeserialize : System.Xml.XmlReader -> bool

参数

xmlReader
XmlReader

指向要反序列化的文档的 XmlReaderAn XmlReader that points to the document to deserialize.

返回

如果此 true 可以反序列化 XmlSerializer 指向的对象,则为 XmlReader,否则为 falsetrue if this XmlSerializer can deserialize the object that the XmlReader points to; otherwise, false.

示例

下面的示例调用 CanDeserialize 方法来检查 XML 文档是否可以反序列化。The following example calls the CanDeserialize method to check whether an XML document can be deserialized.

private:
   void TestDocument( String^ filename, Type^ objType )
   {
      // Using a FileStream, create an XmlTextReader.
      Stream^ fs = gcnew FileStream( filename,FileMode::Open );
      XmlReader^ reader = gcnew XmlTextReader( fs );
      XmlSerializer^ serializer = gcnew XmlSerializer( objType );
      if ( serializer->CanDeserialize( reader ) )
      {
         Object^ o = serializer->Deserialize( reader );
      }
      fs->Close();
   }
private void TestDocument(string filename, Type objType)
{
   // Using a FileStream, create an XmlTextReader.
   Stream fs = new FileStream(filename, FileMode.Open);
   XmlReader reader = new XmlTextReader(fs);
   XmlSerializer serializer = new XmlSerializer(objType);
   if(serializer.CanDeserialize(reader))
      {
         Object o = serializer.Deserialize(reader);
      }
   fs.Close();
}

Private Sub TestDocument _
                (ByVal filename As String, _
                 ByVal objType As Type)
    ' Using a FileStream, create an XmlTextReader.
    Dim fs As New FileStream(filename, FileMode.Open)
    Dim reader As New XmlTextReader(fs)
    Dim serializer As New XmlSerializer(objType)
    If serializer.CanDeserialize(reader) Then
        Dim o As Object = serializer.Deserialize(reader)
    End If
    fs.Close()
End Sub

适用于

另请参阅