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
GetSerializableMembers(Type) |
Obtém todos os membros serializáveis para uma classe do Typeespecificado. |
GetSerializableMembers(Type, StreamingContext) |
Obtém todos os membros serializáveis para uma classe do Type especificado e no StreamingContextfornecido. |
GetSerializableMembers(Type)
- Origem:
- FormatterServices.cs
- Origem:
- FormatterServices.cs
- Origem:
- FormatterServices.cs
Obtém todos os membros serializáveis para uma classe do Typeespecificado.
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 dos membros não transitórios e não estáticos.
- Atributos
Exceções
O parâmetro type
é 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 interface ISerializable ou tem um substituto de serialização não precisa serializar todos esses membros ou pode serializar membros adicionais.
Como o método GetSerializableMembers
chama o método Type.GetFields, 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
- ISerializable
- MemberInfo
- de serialização XML e SOAP
Aplica-se a
GetSerializableMembers(Type, StreamingContext)
- Origem:
- FormatterServices.cs
- Origem:
- FormatterServices.cs
- Origem:
- FormatterServices.cs
Obtém todos os membros serializáveis para uma classe do Type especificado e no StreamingContextfornecido.
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 dos membros não transitórios e não estáticos.
- Atributos
Exceções
O parâmetro type
é 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 enumeração StreamingContextStates.Clone, campos transitórios também serão incluídos na matriz MemberInfo retornada por esse método.
Como o método GetSerializableMembers
chama o método Type.GetFields, 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
- StreamingContext
- MemberInfo
- de serialização XML e SOAP