Compartir a través de


Calcular referencias de clases, estructuras y uniones

Actualización: noviembre 2007

Las clases y las estructuras son parecidas en .NET Framework. Ambas pueden tener campos, propiedades y eventos. También pueden tener métodos estáticos y no estáticos. Una diferencia importante es que las estructuras son tipos de valor y las clases son tipos de referencia.

En la tabla siguiente se enumeran las opciones de cálculo de referencias para las clases, estructuras y uniones, se describe su uso y se proporciona un vínculo al ejemplo de invocación de plataforma correspondiente.

Tipo

Descripción

Ejemplo

Clase por valor

Pasa una clase con miembros de tipo entero como parámetro In/Out, igual que en el caso administrado.

SysTime

Estructura por valor

Pasa las estructuras como parámetros In.

Estructuras

Estructura por referencia

Pasa las estructuras como parámetros In/Out.

OSInfo

Estructura con estructuras anidadas (simplificado)

Pasa una clase que representa una estructura con estructuras anidadas en la función no administrada. La estructura se simplifica en una única gran estructura en el prototipo administrado.

FindFile

Estructura con estructuras anidadas (no simplificada)

Pasa una estructura con una estructura incrustada.

Estructuras

Estructura con un puntero a otra estructura

Pasa una estructura que contiene un puntero a una segunda estructura como miembro.

Estructuras

Matriz de estructuras con enteros por valor

Pasa como parámetro In/Out una matriz de estructuras que sólo contienen enteros. Los miembros de la matriz se pueden cambiar.

Matrices

Matriz de estructuras con enteros y cadenas por referencia

Pasa una matriz de estructuras que contienen números enteros y cadenas como parámetro Out. La función llamada asigna memoria para la matriz.

OutArrayOfStructs

Uniones con tipos de valor

Pasa uniones con tipos de valor (entero y doble).

Uniones

Uniones con tipos mixtos

Pasa uniones con tipos mixtos (entero y cadena).

Uniones

Valores Null en estructura

Pasa una referencia null (Nothing en Visual Basic) en lugar de una referencia a un tipo de valor.

HandleRef

Vea también

Conceptos

Tipos de datos de invocación de plataforma

Calcular referencias de cadenas

Calcular referencias de matrices de tipos

Diversos ejemplos de cálculo de referencias

Otros recursos

Calcular referencias de datos con invocación de plataforma