FormatterServices.GetSerializableMembers Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna todos os membros serializáveis para uma classe específica.
Sobrecargas
| Nome | Description |
|---|---|
| GetSerializableMembers(Type) |
Obtém todos os membros serializáveis para uma classe do especificado 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 do especificado 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á sendo serializado.
Retornos
Uma matriz do tipo MemberInfo de membros não transitórios, não estáticos.
- Atributos
Exceções
O type parâmetro é null.
O chamador não tem a permissão necessária.
Comentários
Geralmente, os membros serializáveis de uma classe são membros não transitórios, não estáticos, como campos e propriedades. Para serem incluídas, as propriedades devem ter um getter e um setter. Uma classe que implementa a ISerializable interface ou tem um substituto de serialização não precisa serializar todos esses membros ou pode serializar membros adicionais.
Como o GetSerializableMembers método chama o Type.GetFields método, ele não retorna campos em uma ordem específica, como ordem alfabética ou de declaração. Seu código não deve depender da ordem na qual os campos são retornados.
Confira 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 que está sendo serializado ou clonado.
- context
- StreamingContext
O contexto em que a serialização ocorre.
Retornos
Uma matriz do tipo MemberInfo de membros não transitórios, não estáticos.
- Atributos
Exceções
O type parâmetro é null.
O chamador não tem a permissão necessária.
Comentários
Geralmente, os membros serializáveis de uma classe são membros não transitórios, não estáticos, como campos e propriedades. Para serem incluídas, as propriedades devem ter um getter e um setter. Uma classe que implementa ISerializable ou tem um substituto de serialização não precisa serializar todos esses membros ou pode serializar membros adicionais.
Se context incluir o valor de StreamingContextStates.Clone enumeração, os campos transitórios também serão incluídos na MemberInfo matriz retornada por esse método.
Como o GetSerializableMembers método chama o Type.GetFields método, ele não retorna campos em uma ordem específica, como ordem alfabética ou de declaração. Seu código não deve depender da ordem na qual os campos são retornados.