Type.IsSerializable Type.IsSerializable Type.IsSerializable Type.IsSerializable Property

정의

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

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

속성 값

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

구현

예제

다음 예제에서는 인스턴스를 만듭니다 MyTestClass 클래스 [Serializable] 특성을 설정 하 고 확인 합니다 IsSerializable 속성에 대 한 true 또는 false합니다.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);
            }
        }
    }
}
Imports System
Imports Microsoft.VisualBasic
Namespace SystemType
    Public Class [MyClass]
        ' Declare a public class with the [Serializable] attribute.
        <Serializable()> Public Class MyTestClass
        End Class 'MyTestClass
        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 'Main
    End Class '[MyClass]
End Namespace 'SystemType

설명

.NET 표준에 정의 된 형식으로 표시 되어 있지 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> (MyGenericType(Of Integer) Visual basic에서),이 속성의 값으로 결정 됩니다 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.

적용 대상

추가 정보