Type.IsSerializable 속성

정의

Type의 serialization 가능 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the Type is serializable.

public:
 property bool IsSerializable { bool get(); };
public bool IsSerializable { get; }
member this.IsSerializable : bool
Public ReadOnly Property IsSerializable As Boolean

속성 값

true을 serialize할 수 있으면 Type이고, 그렇지 않으면 false입니다.true if the Type is serializable; otherwise, false.

구현

예제

다음 예에서는 MyTestClass 클래스의 인스턴스를 만들고, [Serializable] 특성을 설정 하 고, true 또는 false에 대 한 IsSerializable 속성을 확인 합니다.The following example creates an instance of MyTestClass class, sets the [Serializable] attribute, and checks the IsSerializable property for true or false.

using namespace System;
public ref class MyClass
{
public:

   // Declare a public class with the [Serializable] attribute.

   [Serializable]
   ref class MyTestClass{};


};

int main()
{
   try
   {
      bool myBool = false;
      MyClass::MyTestClass^ myTestClassInstance = gcnew MyClass::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 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "\nAn exception occurred: {0}", e->Message );
   }

}

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);
            }
        }
    }
}
Namespace SystemType
    Public Class [MyClass]
        ' Declare a public class with the [Serializable] attribute.
        <Serializable()> Public Class MyTestClass
        End Class
        Public Overloads Shared Sub Main()
            Try
                Dim myBool As Boolean = False
                Dim myTestClassInstance As New MyTestClass()
                ' Get the type of myTestClassInstance.
                Dim myType As Type = myTestClassInstance.GetType()
                ' Get the IsSerializable property of myTestClassInstance.
                myBool = myType.IsSerializable
                Console.WriteLine(ControlChars.Cr + "Is {0} serializable? {1}.", myType.FullName, myBool.ToString())
            Catch e As Exception
                Console.WriteLine(ControlChars.Cr + "An exception occurred: {0}", e.Message.ToString())
            End Try
        End Sub
    End Class
End Namespace 'SystemType

설명

.NET Standard에 정의 된 형식은 SerializableAttribute으로 표시 되지 않습니다.Types that are defined in the .NET Standard are not marked with SerializableAttribute. 대신, 각.NET 구현 형식이 직렬화 가능 인지 확인 합니다.Instead, each .NET implementation determines whether a type is serializable. 런타임에는 IsSerializable 속성을 사용 하 여 해당 구현이 형식의 인스턴스 serialization을 지원 하는지 여부를 확인할 수 있습니다.At run time, you can use the IsSerializable property to determine whether that implementation supports serialization of an instance of the type. 자세한 내용 및 예제는 .NET Standard 개체를 직렬화 할 수 있는지 확인 하는 방법을 참조 하세요.For more information and an example, see How to determine if a .NET Standard object is serializable.

현재 Type이 생성 된 제네릭 형식을 나타내는 경우이 속성은 형식이 생성 된 제네릭 형식 정의에 적용 됩니다.If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. 예를 들어 현재 Type MyGenericType<int> (Visual Basic의MyGenericType(Of Integer))를 나타내는 경우이 속성의 값은 MyGenericType<T>에 의해 결정 됩니다.For example, if the current Type represents MyGenericType<int> (MyGenericType(Of Integer) in Visual Basic), the value of this property is determined by MyGenericType<T>.

현재 Type 제네릭 형식 또는 제네릭 메서드 정의의 형식 매개 변수를 나타내는 경우이 속성은 항상 false를 반환 합니다.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

적용 대상

추가 정보