FormatterServices.GetSerializableMembers Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.