この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

SerializationInfo クラス

 

オブジェクトを逆シリアル化または逆シリアル化に必要なすべてのデータを格納します。 このクラスは継承できません。

名前空間:   System.Runtime.Serialization
アセンブリ:  mscorlib (mscorlib.dll 内)

System.Object
  System.Runtime.Serialization.SerializationInfo

[ComVisibleAttribute(true)]
public sealed class SerializationInfo

名前説明
System_CAPS_pubmethodSerializationInfo(Type, IFormatterConverter)

SerializationInfo クラスの新しいインスタンスを作成します。

System_CAPS_pubmethodSerializationInfo(Type, IFormatterConverter, Boolean)

SerializationInfo クラスの新しいインスタンスを初期化します。

名前説明
System_CAPS_pubpropertyAssemblyName

取得またはのみシリアル化中にシリアル化する型のアセンブリ名を設定します。

System_CAPS_pubpropertyFullTypeName

取得または設定の完全な名前、 Type をシリアル化します。

System_CAPS_pubpropertyIsAssemblyNameSetExplicit

アセンブリ名が明示的に設定されているかどうかを取得します。

System_CAPS_pubpropertyIsFullTypeNameSetExplicit

完全な型名が明示的に設定されているかどうかを取得します。

System_CAPS_pubpropertyMemberCount

追加されたメンバーの数を取得、 SerializationInfo を格納します。

System_CAPS_pubpropertyObjectType

シリアル化されるオブジェクトの型を返します。

名前説明
System_CAPS_pubmethodAddValue(String, Boolean)

ブール値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Byte)

8 ビット符号なし整数値に追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Char)

Unicode 文字の値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, DateTime)

追加、 DateTime 値を SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Decimal)

10 進値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Double)

倍精度浮動小数点値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Int16)

16 ビット符号付き整数値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Int32)

32 ビット符号付き整数値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Int64)

64 ビット符号付き整数値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Object)

指定したオブジェクトに追加、 SerializationInfo が、指定した名前に関連付けられたストアです。

System_CAPS_pubmethodAddValue(String, Object, Type)

値を追加、 SerializationInfo 、格納場所 value に関連付けられている name としてシリアル化 Typetypeします。

System_CAPS_pubmethodAddValue(String, SByte)

8 ビット符号付き整数値に追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, Single)

単精度浮動小数点値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, UInt16)

16 ビット符号なし整数値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, UInt32)

32 ビット符号なし整数値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodAddValue(String, UInt64)

64 ビット符号なし整数値を追加、 SerializationInfo を格納します。

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_pubmethodGetBoolean(String)

ブール値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetByte(String)

8 ビット符号なし整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetChar(String)

Unicode 文字値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetDateTime(String)

取得、 DateTime 値から、 SerializationInfo を格納します。

System_CAPS_pubmethodGetDecimal(String)

10 進値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetDouble(String)

倍精度浮動小数点値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetEnumerator()

返します。、 SerializationInfoEnumerator 名前と値のペアを反復処理するために使用、 SerializationInfo を格納します。

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetInt16(String)

16 ビット符号付き整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetInt32(String)

32 ビット符号付き整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetInt64(String)

64 ビット符号付き整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetSByte(String)

8 ビット符号付き整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetSingle(String)

単精度浮動小数点値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetString(String)

取得、 String 値から、 SerializationInfo を格納します。

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodGetUInt16(String)

16 ビット符号なし整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetUInt32(String)

32 ビット符号なし整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetUInt64(String)

64 ビット符号なし整数値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodGetValue(String, Type)

値を取得、 SerializationInfo を格納します。

System_CAPS_pubmethodSetType(Type)

セット、 Type のシリアル化するオブジェクト。

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)

このクラスは、カスタム シリアル化の動作を行うオブジェクトによって使用されます。 GetObjectData のいずれかのメソッド ISerializable または ISerializationSurrogate 設定、 SerializationInfo 名前や型をシリアル化する必要がある情報の各部分の値を格納します。 逆シリアル化中に、適切な関数は、この情報を抽出できます。

オブジェクトに追加されます、 SerializationInfo を使用してシリアル化時に保存、 AddValue メソッドから抽出し、 SerializationInfo に逆シリアル化を使用して格納、 GetValue メソッドです。

シリアル化のカスタマイズに関する詳細については、次を参照してください。 カスタムのシリアル化します。

次のコード例を示しています、 SerializationInfo カスタム シリアル化と逆シリアル化のさまざまな値です。

using System;
using System.Text;
using System.IO;
// Add references to Soap and Binary formatters.
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap ;
using System.Runtime.Serialization;


[Serializable]
public class MyItemType : ISerializable
{
    public MyItemType()
    {
        // Empty constructor required to compile.
    }

    // The value to serialize.
    private string myProperty_value;

    public string MyProperty
    {
        get { return myProperty_value; }
        set { myProperty_value = value; }
    }

    // Implement this method to serialize data. The method is called 
    // on serialization.
    public void GetObjectData(SerializationInfo info, StreamingContext context)
    {
        // Use the AddValue method to specify serialized values.
        info.AddValue("props", myProperty_value, typeof(string));

    }

    // The special constructor is used to deserialize values.
    public MyItemType(SerializationInfo info, StreamingContext context)
    {
        // Reset the property value using the GetValue method.
        myProperty_value = (string) info.GetValue("props", typeof(string));
    }
}

// This is a console application. 
public static class Test
{
    static void Main()
    {
        // This is the name of the file holding the data. You can use any file extension you like.
        string fileName = "dataStuff.myData";

        // Use a BinaryFormatter or SoapFormatter.
        IFormatter formatter = new BinaryFormatter();
        //IFormatter formatter = new SoapFormatter();

        Test.SerializeItem(fileName, formatter); // Serialize an instance of the class.
        Test.DeserializeItem(fileName, formatter); // Deserialize the instance.
        Console.WriteLine("Done");
        Console.ReadLine();
    }

    public static void SerializeItem(string fileName, IFormatter formatter)
    {
        // Create an instance of the type and serialize it.
        MyItemType t = new MyItemType();
        t.MyProperty = "Hello World";

        FileStream s = new FileStream(fileName , FileMode.Create);
        formatter.Serialize(s, t);            
        s.Close();
    }


    public static void DeserializeItem(string fileName, IFormatter formatter)
    {
        FileStream s = new FileStream(fileName, FileMode.Open);
        MyItemType t = (MyItemType)formatter.Deserialize(s);
        Console.WriteLine(t.MyProperty);            
    }       
}

.NET Framework
1.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: