Type.IsSerializable Propriedade

Definição

Obtém um valor que indica se o Type é serializável.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 da propriedade

true se o Type for serializável; caso contrário, false.true if the Type is serializable; otherwise, false.

Implementações

Exemplos

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

Comentários

Os tipos definidos no .NET Standard não são marcados com SerializableAttribute.Types that are defined in the .NET Standard are not marked with SerializableAttribute. Em vez disso, cada implementação do .NET determina se um tipo é serializável.Instead, each .NET implementation determines whether a type is serializable. Em tempo de execução, você pode usar IsSerializable a propriedade para determinar se essa implementação dá suporte à serialização de uma instância do tipo.At run time, you can use the IsSerializable property to determine whether that implementation supports serialization of an instance of the type. Para obter mais informações e um exemplo, consulte como determinar se um objeto .net Standard é serializável.For more information and an example, see How to determine if a .NET Standard object is serializable.

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.If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. Por exemplo, se o Type atual representar MyGenericType<int> (MyGenericType(Of Integer) no Visual Basic), o valor dessa propriedade será 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>.

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.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

Aplica-se a

Veja também