次の方法で共有


XmlSerializer.CanDeserialize メソッド

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

Public Overridable Function CanDeserialize( _
   ByVal xmlReader As XmlReader _) As Boolean
[C#]
public virtual bool CanDeserialize(XmlReaderxmlReader);
[C++]
public: virtual bool CanDeserialize(XmlReader* xmlReader);
[JScript]
public function CanDeserialize(
   xmlReader : XmlReader) : Boolean;

パラメータ

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

戻り値

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

使用例

[Visual Basic, C#, C++] CanDeserialize メソッドを呼び出して、XML ドキュメントを逆シリアル化できるかどうかをチェックする例を次に示します。

 
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

[C#] 
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();
}


[C++] 
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();
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

XmlSerializer クラス | XmlSerializer メンバ | System.Xml.Serialization 名前空間 | Deserialize