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.

戻り値

XmlReader が指すオブジェクトを XmlSerializer が逆シリアル化できる場合は 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

適用対象

こちらもご覧ください