Ler em inglês

Compartilhar via


Type.IsSerializable Propriedade

Definição

Cuidado

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

Obtém um valor que indica se o Type é serializável binário.

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 da propriedade

true se o Type for binário serializável; caso contrário, false.

Implementações

Atributos

Exemplos

O exemplo a seguir cria uma instância da MyTestClass classe , define o atributo [Serializable] e verifica a IsSerializable propriedade para true ou 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);
            }
        }
    }
}

Comentários

Os tipos definidos no .NET Standard não são marcados com SerializableAttribute. Em vez disso, cada implementação do .NET determina se um tipo é serializável binário. Em tempo de execução, você pode usar a IsSerializable propriedade para determinar se essa implementação dá suporte à serialização binária de uma instância do tipo. Para obter mais informações e um exemplo, consulte Como determinar se um objeto .NET Standard é serializável.

Caso o Type atual represente um tipo genérico construído, esta propriedade aplica-se à definição de tipo genérico a partir da qual o tipo foi construído. Por exemplo, se o Type atual representar MyGenericType<int> (MyGenericType(Of Integer) no Visual Basic), o valor dessa propriedade será determinado por MyGenericType<T>.

Caso o Type atual represente um parâmetro de tipo na definição de um tipo genérico ou um método genérico, esta propriedade sempre retorna false.

Aplica-se a

Produto Versões (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

Confira também