Type.IsSerializable Proprietà

Definizione

Ottiene un valore che indica se Type è serializzabile.Gets a value indicating whether the Type is serializable.

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

Valore della proprietà

Boolean

true se Type è serializzabile; in caso contrario, false.true if the Type is serializable; otherwise, false.

Implementazioni

Esempio

Nell'esempio seguente viene creata un'istanza della MyTestClass classe, viene impostato l'attributo [Serializable] e viene verificata la IsSerializable proprietà per true o 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);
            }
        }
    }
}
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

Commenti

I tipi definiti nel .NET Standard non sono contrassegnati con SerializableAttribute .Types that are defined in the .NET Standard are not marked with SerializableAttribute. Al contrario, ogni implementazione di .NET determina se un tipo è serializzabile.Instead, each .NET implementation determines whether a type is serializable. In fase di esecuzione, è possibile utilizzare la IsSerializable proprietà per determinare se tale implementazione supporta la serializzazione di un'istanza del tipo.At run time, you can use the IsSerializable property to determine whether that implementation supports serialization of an instance of the type. Per ulteriori informazioni e un esempio, vedere come determinare se un oggetto .NET standard è serializzabile.For more information and an example, see How to determine if a .NET Standard object is serializable.

Se l'oggetto corrente Type rappresenta un tipo generico costruito, questa proprietà si applica alla definizione di tipo generico da cui è stato creato il tipo.If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. Se, ad esempio, l'oggetto corrente Type rappresenta MyGenericType<int> ( MyGenericType(Of Integer) in Visual Basic), il valore di questa proprietà è determinato da 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>.

Se l'oggetto corrente Type rappresenta un parametro di tipo nella definizione di un tipo o di un metodo generico, la proprietà restituisce sempre false .If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

Si applica a

Vedi anche