次の方法で共有


XmlSerializer.CanDeserialize(XmlReader) メソッド

定義

XmlSerializer が、指定された XML ドキュメントを逆シリアル化できるかどうかを示す値を取得します。

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
Public Overridable Function CanDeserialize (xmlReader As XmlReader) As Boolean

パラメーター

xmlReader
XmlReader

逆シリアル化するドキュメントを指す XmlReader

戻り値

XmlReader が指すオブジェクトを XmlSerializer が逆シリアル化できる場合は true。それ以外の場合は false

次の例では、 メソッドを CanDeserialize 呼び出して、XML ドキュメントを逆シリアル化できるかどうかを確認します。

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

適用対象

こちらもご覧ください