Type.IsSerializable Propiedad

Definición

Obtiene un valor que indica si el objeto Type es serializable.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

Valor de propiedad

Es true si Type es serializable; de lo contrario, es false.true if the Type is serializable; otherwise, false.

Implementaciones

Ejemplos

En el ejemplo siguiente se crea una instancia de MyTestClass clase, se establece el atributo [Serializable] y se comprueba la propiedad IsSerializable de 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

Comentarios

Los tipos que se definen en el .NET Standard no se marcan con SerializableAttribute.Types that are defined in the .NET Standard are not marked with SerializableAttribute. En su lugar, cada implementación de .NET determina si un tipo es serializable.Instead, each .NET implementation determines whether a type is serializable. En tiempo de ejecución, puede usar la propiedad IsSerializable para determinar si esa implementación admite la serialización de una instancia del tipo.At run time, you can use the IsSerializable property to determine whether that implementation supports serialization of an instance of the type. Para obtener más información y un ejemplo, vea cómo determinar si un objeto .net Standard es serializable.For more information and an example, see How to determine if a .NET Standard object is serializable.

Si el Type actual representa un tipo genérico construido, esta propiedad se aplica a la definición de tipo genérico a partir de la cual se construyó el tipo.If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. Por ejemplo, si el Type actual representa MyGenericType<int> (MyGenericType(Of Integer) en Visual Basic), el valor de esta propiedad viene determinado por 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>.

Si el Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, esta propiedad siempre devuelve false.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

Se aplica a

Consulte también: