Marshal.OffsetOf Método

Definição

Sobrecargas

OffsetOf(Type, String)

Retorna o deslocamento de campo do formulário não gerenciado da classe gerenciada.Returns the field offset of the unmanaged form of the managed class.

OffsetOf<T>(String)

[Suporte somente no .NET Framework 4.5.1 e versões posteriores][Supported in the .NET Framework 4.5.1 and later versions]

Retorna o deslocamento de campo do formulário não gerenciado de uma classe gerenciada especificada.Returns the field offset of the unmanaged form of a specified managed class.

OffsetOf(Type, String)

Aviso

Esta API agora é obsoleta.

Retorna o deslocamento de campo do formulário não gerenciado da classe gerenciada.Returns the field offset of the unmanaged form of the managed class.

public:
 static IntPtr OffsetOf(Type ^ t, System::String ^ fieldName);
[System.Obsolete("OffsetOf(Type, string) may be unavailable in future releases. Instead, use OffsetOf<T>(string). For more info, go to https://go.microsoft.com/fwlink/?LinkID=296511")]
public static IntPtr OffsetOf (Type t, string fieldName);
static member OffsetOf : Type * string -> nativeint
Public Shared Function OffsetOf (t As Type, fieldName As String) As IntPtr

Parâmetros

t
Type

Um tipo de valor ou tipo de referência formatada que especifica a classe gerenciada.A value type or formatted reference type that specifies the managed class. Você deve aplicar o StructLayoutAttribute à classe.You must apply the StructLayoutAttribute to the class.

fieldName
String

O campo dentro do parâmetro t.The field within the t parameter.

Retornos

O deslocamento, em bytes, para o parâmetro fieldName dentro da classe especificada que é declarado pela invocação de plataforma.The offset, in bytes, for the fieldName parameter within the specified class that is declared by platform invoke.

Atributos

Exceções

A classe não pode ser exportada, visto que uma estrutura ou o campo é confidencial.The class cannot be exported as a structure or the field is nonpublic. A partir do .NET Framework versão 2.0, o campo pode ser privado.Beginning with the .NET Framework version 2.0, the field may be private.

O parâmetro t é null.The t parameter is null.

Comentários

OffsetOf fornece o deslocamento em termos do layout da estrutura não gerenciada, que não corresponde necessariamente ao deslocamento do layout da estrutura gerenciada.OffsetOf provides the offset in terms of the unmanaged structure layout, which does not necessarily correspond to the offset of the managed structure layout. O marshaling da estrutura pode transformar o layout e alterar o deslocamento.Marshaling the structure can transform the layout and alter the offset. O parâmetro t pode ser um tipo de valor ou um tipo de referência formatado (com um layout sequencial ou explícito).The t parameter can be a value type or a formatted reference type (with either a sequential or explicit layout). Você pode obter o tamanho de todo o layout usando o método Marshal.SizeOf.You can obtain the size of the entire layout by using the Marshal.SizeOf method. Para obter informações adicionais, consulte marshaling padrão para tipos de valor.For additional information, see Default Marshaling for Value Types.

Observação

A partir da versão .NET Framework 2,0, OffsetOf pode expor campos privados.Beginning with the .NET Framework version 2.0, OffsetOf may expose private fields.

Veja também

OffsetOf<T>(String)

[Suporte somente no .NET Framework 4.5.1 e versões posteriores][Supported in the .NET Framework 4.5.1 and later versions]

Retorna o deslocamento de campo do formulário não gerenciado de uma classe gerenciada especificada.Returns the field offset of the unmanaged form of a specified managed class.

public:
generic <typename T>
 static IntPtr OffsetOf(System::String ^ fieldName);
public static IntPtr OffsetOf<T> (string fieldName);
static member OffsetOf : string -> nativeint
Public Shared Function OffsetOf(Of T) (fieldName As String) As IntPtr

Parâmetros de tipo

T

Um tipo de valor gerenciado ou tipo de referência formatado.A managed value type or formatted reference type. Você deve aplicar o atributo StructLayoutAttribute à classe.You must apply the StructLayoutAttribute attribute to the class.

Parâmetros

fieldName
String

O nome do campo no tipo T.The name of the field in the T type.

Retornos

O deslocamento, em bytes, para o parâmetro fieldName dentro da classe especificada que é declarado pela invocação de plataforma.The offset, in bytes, for the fieldName parameter within the specified class that is declared by platform invoke.

Comentários

OffsetOf<T>(String) fornece o deslocamento em termos do layout da estrutura não gerenciada, que não corresponde necessariamente ao deslocamento do layout da estrutura gerenciada.OffsetOf<T>(String) provides the offset in terms of the unmanaged structure layout, which does not necessarily correspond to the offset of the managed structure layout. O marshaling da estrutura pode transformar o layout e alterar o deslocamento.Marshaling the structure can transform the layout and alter the offset. O parâmetro de tipo genérico T pode ser um tipo de valor ou um tipo de referência formatado (com um layout sequencial ou explícito).The T generic type parameter can be a value type or a formatted reference type (with either a sequential or explicit layout). Você pode obter o tamanho de todo o layout usando o método SizeOf<T>(T).You can obtain the size of the entire layout by using the SizeOf<T>(T) method. Para obter informações adicionais, consulte marshaling padrão para tipos de valor.For additional information, see Default Marshaling for Value Types.

Observação

A partir da versão .NET Framework 2,0, OffsetOf pode expor campos privados.Beginning with the .NET Framework version 2.0, OffsetOf may expose private fields.

Veja também

Aplica-se a