¿Podemos implementar `offsetof` de ANSI C en Delphi?

Para referencia: Eloffsetof macro (!) toma unstruct tipo de datos y un miembro de la estructura especificada como argumentos y devuelve un desplazamiento entero del miembro dado en relación con el comienzo de la estructura. Ver elResumen detallado y referencias.

La lógica detrás de lo genérico.offsetof Es bastante simple y se puede reproducir en Delphi con facilidad.(más o menos) (Literalmente, con facilidad, la eliminación del requisito del tipo de puntero declarado de antemano lo convierte en una expresión en línea básica, vea David Heffernanresponder ycomentar sobre el intercambio operadores de referencia y desreferencia) como código en el lugar. Sin embargo, no veo absolutamente ninguna manera de convertir la solución de código en el lugar a la función reutilizable. ¿Podemos realmente hacer eso?

Respuestas a la pregunta(2)

Su respuesta a la pregunta