Leer en inglés

Compartir a través de


Type.IsSerializable Propiedad

Definición

Precaución

Formatter-based serialization is obsolete and should not be used.

Obtiene un valor que indica si es Type serializable binario.

C#
public virtual bool IsSerializable { get; }
C#
[System.Obsolete("Formatter-based serialization is obsolete and should not be used.", DiagnosticId="SYSLIB0050", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public virtual bool IsSerializable { get; }
C#
public bool IsSerializable { get; }

Valor de propiedad

true es si es Type serializable binario; de lo contrario, falsees .

Implementaciones

Atributos

Ejemplos

En el ejemplo siguiente se crea una instancia de clase MyTestClass , se establece el atributo [Serializable] y se comprueba la IsSerializable propiedad para true o false.

C#
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);
            }
        }
    }
}

Comentarios

Los tipos definidos en .NET Standard no se marcan con SerializableAttribute. En su lugar, cada implementación de .NET determina si un tipo es serializable binario. En tiempo de ejecución, puede usar la IsSerializable propiedad para determinar si esa implementación admite la serialización binaria de una instancia del tipo . Para obtener más información y un ejemplo, vea Cómo determinar si un objeto de .NET Standard es serializable.

Si el objeto actual Type representa un tipo genérico construido, esta propiedad se aplica a la definición de tipo genérico desde la que se construyó el tipo. Por ejemplo, si el objeto actual Type representa MyGenericType<int> (MyGenericType(Of Integer) en Visual Basic), el valor de esta propiedad viene determinado por MyGenericType<T>.

Si el objeto actual Type representa un parámetro de tipo en la definición de un tipo genérico o un método genérico, esta propiedad siempre devuelve false.

Se aplica a

Producto Versiones (Obsoleto)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 (8, 9)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Consulte también