2009-03-15 14 views

risposta

4

Le chiamate di metodo esterne sono a codice non gestito. Di conseguenza, non ha senso essere chiamato su un'istanza dell'oggetto (gestita): il primo argomento (nascosto) in un metodo di istanza è il riferimento all'istanza, ovvero this. In genere, i metodi extern riguardano solo tipi semplici (primitive, stringhe, ecc.) - non oggetti (tranne forse gli array - e anche loro sono spesso risolti a IntPtr per primi).

2

extern anche le chiamate devono generalmente essere conformi a un'API "C-style" e C non conosce nulla sugli oggetti, quindi le chiamate sono static.

La mia affermazione è vera non è al 100% in quanto v'è un thiscall convenzione di chiamata che può essere utilizzato con [DllImport] come un aiuto nel chiamare i metodi C++.

Problemi correlati