Public Shared Function OffsetOf ( _ t As Type, _ fieldName As String _ ) As IntPtr
Dim t As Type Dim fieldName As String Dim returnValue As IntPtr returnValue = Marshal.OffsetOf(t, fieldName)
public static IntPtr OffsetOf ( Type t, string fieldName )
public: static IntPtr OffsetOf ( Type^ t, String^ fieldName )
public static IntPtr OffsetOf ( Type t, String fieldName )
public static function OffsetOf ( t : Type, fieldName : String ) : IntPtr
Type que indica la clase especificada. Debe aplicar StructLayoutAttribute a la clase.
Campo dentro del parámetro t.
ArgumentException
La clase no se puede exportar como estructura o el campo no es público. A partir de la versión 2.0 de .NET Framework, el campo puede ser privado.
ArgumentNullException
El parámetro t es referencia de objeto null (Nothing en Visual Basic).
OffsetOf proporciona el desplazamiento correspondiente al diseño de estructura no administrada, que no se corresponde necesariamente con el desplazamiento del diseño de estructura administrada. El cálculo de referencias de estructura puede transformar el diseño y variar el desplazamiento. El parámetro t puede ser un tipo de valor o un tipo de referencia con formato (con un diseño secuencial o explícito). Para obtener el tamaño de todo el diseño, utilice el método Marshal.SizeOf. Para obtener más información, vea Cálculo de referencias predeterminado para tipos de valor.
A partir de la versión 2.0 de .NET Framework, OffsetOf puede exponer los campos privados.
Este método utiliza SecurityAction.LinkDemand para evitar que se le llame desde código que no sea de confianza; sólo el llamador inmediato debe disponer del permiso SecurityPermissionAttribute.UnmanagedCode. Si se puede llamar al código desde código de confianza parcial, no pase ninguna entrada de usuario a los métodos de la clase Marshal sin validación. Para conocer las limitaciones importantes que existen a la hora de utilizar el miembro LinkDemand, vea Demand frente a LinkDemand.
Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition
.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.