XmlSerializer.CanDeserialize(XmlReader) XmlSerializer.CanDeserialize(XmlReader) XmlSerializer.CanDeserialize(XmlReader) Method

定義

取得值,指出這個 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 XmlReader XmlReader

XmlReader,指向要還原序列化的文件。An XmlReader that points to the document to deserialize.

傳回

如果這個 XmlSerializer 可以還原序列化 XmlReader 所指向的物件,則為 true,否則為 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

適用於

另請參閱