英語で読む

次の方法で共有


Type.IsSerializable プロパティ

定義

注意事項

Formatter-based serialization is obsolete and should not be used.

がバイナリ シリアル化可能かどうかを示す値を Type 取得します。

C#
public virtual bool IsSerializable { get; }
C#
[System.Obsolete("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public virtual bool IsSerializable { get; }
C#
public bool IsSerializable { get; }

プロパティ値

true Typeがバイナリシリアル化可能な場合は 。それ以外の場合falseは 。

実装

属性

次の例では、 クラスのMyTestClassインスタンスを作成し、[Serializable] 属性を設定し、 または falseのプロパティをIsSerializabletrueチェックします。

C#
using System;
namespace SystemType
{
    public class MyClass
    {
        // Declare a public class with the [Serializable] attribute.
        [Serializable] public class MyTestClass
        {
        }
        public static void Main(string []args)
        {
            try
            {
                bool myBool = false;
                MyTestClass myTestClassInstance = new MyTestClass();
                // Get the type of myTestClassInstance.
                Type myType = myTestClassInstance.GetType();
                // Get the IsSerializable property of myTestClassInstance.
                myBool = myType.IsSerializable;
                Console.WriteLine("\nIs {0} serializable? {1}.", myType.FullName, myBool.ToString());
            }
            catch (Exception e)
            {
                Console.WriteLine("\nAn exception occurred: {0}", e.Message);
            }
        }
    }
}

注釈

.NET Standard で定義されている型は、 で SerializableAttributeマークされません。 代わりに、各 .NET 実装によって、型がバイナリ シリアル化可能かどうかを判断します。 実行時に、 プロパティを IsSerializable 使用して、その実装が型のインスタンスのバイナリ シリアル化をサポートしているかどうかを判断できます。 詳細と例については、「 .NET Standard オブジェクトがシリアル化可能かどうかを判断する方法」を参照してください。

現在 Type の が構築されたジェネリック型を表す場合、このプロパティは、型の構築元のジェネリック型定義に適用されます。 たとえば、現在Typeの が (MyGenericType(Of Integer) を Visual Basic で表しているMyGenericType<int>場合)、このプロパティの値は によってMyGenericType<T>決定されます。

現在 Type の がジェネリック型またはジェネリック メソッドの定義で型パラメーターを表す場合、このプロパティは常に を返します false

適用対象

製品 バージョン (廃止)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 (8, 9)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください