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

Definition

Ruft einen Wert ab, der angibt, ob Type serialisierbar ist.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

Eigenschaftswert

true, wenn Type serialisierbar ist, andernfalls false.true if the Type is serializable; otherwise, false.

Implementiert

Beispiele

Im folgenden Beispiel wird eine Instanz der MyTestClass -Klasse erstellt, das [serialisierbare]-Attribut festgelegt IsSerializable und die true - falseEigenschaft für oder überprüft.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

Hinweise

Typen, die in der .NET Standard definiert sind, sind nicht SerializableAttributemit markiert.Types that are defined in the .NET Standard are not marked with SerializableAttribute. Stattdessen bestimmt jede .NET-Implementierung, ob ein Typ serialisierbar ist.Instead, each .NET implementation determines whether a type is serializable. Zur Laufzeit können Sie die IsSerializable -Eigenschaft verwenden, um zu bestimmen, ob diese Implementierung die Serialisierung einer Instanz des-Typs unterstützt.At run time, you can use the IsSerializable property to determine whether that implementation supports serialization of an instance of the type. Weitere Informationen und ein Beispiel finden Sie unter bestimmen, ob ein .NET Standard Objekt serialisierbar ist.For more information and an example, see How to determine if a .NET Standard object is serializable.

Wenn der aktuelle Type einen konstruierten generischen Typ darstellt, gilt diese Eigenschaft für die generische Typdefinition, aus der der Typ erstellt wurde.If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. Wenn der Type aktuelle z. b. MyGenericType<int> (MyGenericType(Of Integer) in Visual Basic) darstellt, wird der Wert dieser Eigenschaft durch MyGenericType<T>bestimmt.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>.

Wenn der aktuelle Type einen Typparameter in der Definition eines generischen Typs oder einer generischen Methode darstellt, gibt diese falseEigenschaft immer zurück.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

Gilt für:

Siehe auch