FormatterServices.GetSerializableMembers Método

Definição

Retorna todos os membros serializáveis para uma determinada classe.

Sobrecargas

Name Description
GetSerializableMembers(Type)

Obtém todos os membros serializáveis para uma classe da especificada Type.

GetSerializableMembers(Type, StreamingContext)

Obtém todos os membros serializáveis para uma classe do especificado Type e no fornecido StreamingContext.

GetSerializableMembers(Type)

Obtém todos os membros serializáveis para uma classe da especificada Type.

public:
 static cli::array <System::Reflection::MemberInfo ^> ^ GetSerializableMembers(Type ^ type);
public static System.Reflection.MemberInfo[] GetSerializableMembers(Type type);
[System.Security.SecurityCritical]
public static System.Reflection.MemberInfo[] GetSerializableMembers(Type type);
static member GetSerializableMembers : Type -> System.Reflection.MemberInfo[]
[<System.Security.SecurityCritical>]
static member GetSerializableMembers : Type -> System.Reflection.MemberInfo[]
Public Shared Function GetSerializableMembers (type As Type) As MemberInfo()

Parâmetros

type
Type

O tipo que está a ser serializado.

Devoluções

Um array de tipos MemberInfo de membros não transitórios e não estáticos.

Atributos

Exceções

O type parâmetro é null.

O interlocutor não tem a permissão necessária.

Observações

Geralmente, os membros serializáveis de uma classe são membros não transitórios e não estáticos, como campos e propriedades. Para serem incluídos, as propriedades devem ter tanto um receptor como um colocador. Uma classe que implementa a ISerializable interface ou tem um substituto de serialização não tem de serializar todos estes membros, nem pode serializar membros adicionais.

Como o GetSerializableMembers método chama o Type.GetFields método, não devolve campos numa ordem específica, como ordem alfabética ou de declaração. O teu código não deve depender da ordem em que os campos são devolvidos.

Ver também

Aplica-se a

GetSerializableMembers(Type, StreamingContext)

Obtém todos os membros serializáveis para uma classe do especificado Type e no fornecido StreamingContext.

public:
 static cli::array <System::Reflection::MemberInfo ^> ^ GetSerializableMembers(Type ^ type, System::Runtime::Serialization::StreamingContext context);
public static System.Reflection.MemberInfo[] GetSerializableMembers(Type type, System.Runtime.Serialization.StreamingContext context);
[System.Security.SecurityCritical]
public static System.Reflection.MemberInfo[] GetSerializableMembers(Type type, System.Runtime.Serialization.StreamingContext context);
static member GetSerializableMembers : Type * System.Runtime.Serialization.StreamingContext -> System.Reflection.MemberInfo[]
[<System.Security.SecurityCritical>]
static member GetSerializableMembers : Type * System.Runtime.Serialization.StreamingContext -> System.Reflection.MemberInfo[]
Public Shared Function GetSerializableMembers (type As Type, context As StreamingContext) As MemberInfo()

Parâmetros

type
Type

O tipo seria serializado ou clonado.

context
StreamingContext

O contexto onde ocorre a serialização.

Devoluções

Um array de tipos MemberInfo de membros não transitórios e não estáticos.

Atributos

Exceções

O type parâmetro é null.

O interlocutor não tem a permissão necessária.

Observações

Geralmente, os membros serializáveis de uma classe são membros não transitórios e não estáticos, como campos e propriedades. Para serem incluídos, as propriedades devem ter tanto um receptor como um colocador. Uma classe que implementa ISerializable ou tem um substituto de serialização não tem de serializar todos estes membros, nem pode serializar membros adicionais.

Se context incluir o valor da StreamingContextStates.Clone enumeração, campos transitórios também são incluídos no MemberInfo array devolvido por este método.

Como o GetSerializableMembers método chama o Type.GetFields método, não devolve campos numa ordem específica, como ordem alfabética ou de declaração. O teu código não deve depender da ordem em que os campos são devolvidos.

Ver também

Aplica-se a