Interop attribútumok alkalmazása
A System.Runtime.InteropServices névtér az interop-specifikus attribútumok három kategóriáját tartalmazza: a tervezéskor ön által alkalmazott attribútumokat, a COM-interop eszközök és API-k által az átalakítási folyamat során alkalmazottakat, valamint azOkat, amelyeket Ön vagy a COM interop alkalmaz.
Ha nem ismeri az attribútumok felügyelt kódra való alkalmazásának feladatát, olvassa el a Metaadatok kiterjesztése attribútumokkal című témakört. A többi egyéni attribútumhoz hasonlóan interopspecifikus attribútumokat is alkalmazhat típusokra, metódusokra, tulajdonságokra, paraméterekre, mezőkre és más tagokra.
Tervezési idő attribútumai
A COM interop-eszközök és API-k által végrehajtott átalakítási folyamat eredményét tervezési idő attribútumok használatával módosíthatja. Az alábbi táblázat a felügyelt forráskódra alkalmazható attribútumokat ismerteti. A COM interop-eszközök esetenként a táblázatban leírt attribútumokat is alkalmazhatják.
Attribútum | Leírás |
---|---|
AutomationProxyAttribute | Megadja, hogy a típust az Automation-rendezővel vagy egy egyéni proxyval és csonktal kell-e elrendezni. |
ClassInterfaceAttribute | Az osztályhoz létrehozott felület típusát szabályozza. |
CoClassAttribute | A típustárból importált eredeti coclass CLSID azonosítóját azonosítja. A COM interop-eszközök általában ezt az attribútumot alkalmazzák. |
ComImportAttribute | Azt jelzi, hogy a társosztály- vagy felületdefiníció egy COM-típustárból lett importálva. A futtatókörnyezet ezzel a jelző használatával tudja, hogyan aktiválhatja és adhatja meg a típust. Ez az attribútum megtiltja, hogy a típus vissza legyen exportálva egy típustárba. A COM interop-eszközök általában ezt az attribútumot alkalmazzák. |
ComRegisterFunctionAttribute | Azt jelzi, hogy egy metódust kell meghívni, amikor a szerelvény regisztrálva van a COM-ból való használatra, hogy a felhasználó által írt kód végrehajtható legyen a regisztrációs folyamat során. |
ComSourceInterfacesAttribute | Azonosítja az osztály eseményforrásait. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
ComUnregisterFunctionAttribute | Azt jelzi, hogy egy metódust kell meghívni, amikor a szerelvény nincs regisztrálva a COM-ból, hogy a felhasználó által írt kód végrehajtható legyen a folyamat során. |
ComVisibleAttribute | A COM számára láthatatlanná teszi a típusokat, ha az attribútum értéke hamis. Ez az attribútum alkalmazható egy adott típusra vagy egy teljes szerelvényre a COM láthatóságának szabályozása érdekében. Alapértelmezés szerint minden felügyelt, nyilvános típus látható; az attribútum nem szükséges ahhoz, hogy láthatóvá tegye őket. |
DispIdAttribute | Egy metódus vagy mező COM-küldési azonosítóját (DISPID) adja meg. Ez az attribútum az általa leírt metódushoz, mezőhöz vagy tulajdonsághoz tartozó DISPID-t tartalmazza. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
ComDefaultInterfaceAttribute | A .NET-ben implementált COM-osztály alapértelmezett felületét jelzi. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
FieldOffsetAttribute | A StructLayoutAttribute használatakor az osztályon belüli egyes mezők fizikai helyzetét jelzi, az LayoutKind pedig Explicit értékre van állítva. |
GuidAttribute | Egy osztály, felület vagy egy teljes típustár globálisan egyedi azonosítóját (GUID) adja meg. Az attribútumnak átadott sztringnek olyan formátumnak kell lennie, amely elfogadható konstruktor argumentum a System.Guid típushoz. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
IDispatchImplAttribute | Azt jelzi, hogy melyik IDispatch-felület implementációját használja a közös nyelvi futtatókörnyezet a kettős felületek és a dispinterfaces COM-nak való felfedésekor. |
InAttribute | Azt jelzi, hogy az adatokat be kell rendezni a hívóhoz. Paraméterek attribútumához használható. |
InterfaceTypeAttribute | Szabályozza, hogy a felügyelt felület hogyan legyen elérhető a COM-ügyfelek számára (csak kettős, IUnknown-származtatott vagy IDispatch). A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
LCIDConversionAttribute | Azt jelzi, hogy egy nem felügyelt metódus aláírása LCID paramétert vár. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
MarshalAsAttribute | Azt jelzi, hogy a mezőkben vagy paraméterekben lévő adatok hogyan legyenek rendezve a felügyelt és a nem felügyelt kód között. Az attribútum mindig választható, mert minden adattípus alapértelmezett rendezési viselkedést ad. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
OptionalAttribute | Azt jelzi, hogy egy paraméter nem kötelező. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
OutAttribute | Azt jelzi, hogy egy mező vagy paraméter adatait vissza kell rendezni egy hívott objektumból a hívóhoz. |
PreserveSigAttribute | Letiltja a HRESULT vagy az újrapróbálkozás aláírásának átalakítását, amely általában az együttműködési hívások során történik. Az attribútum hatással van a rendezésre és a típustár exportálására is. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
ProgIdAttribute | Egy .NET-osztály ProgID azonosítóját adja meg. Osztályokat attribútumként használhat. |
StructLayoutAttribute | Az osztály mezőinek fizikai elrendezését szabályozza. A COM interop-eszközök alkalmazhatják ezt az attribútumot. |
Konverziós eszköz attribútumai
Az alábbi táblázat azokat az attribútumokat ismerteti, amelyeket a COM interop-eszközök az átalakítási folyamat során alkalmaznak. Ezeket az attribútumokat a tervezéskor nem alkalmazza.
Attribútum | Leírás |
---|---|
ComAliasNameAttribute | Egy paraméter vagy mezőtípus COM-aliasát jelzi. Paraméterek, mezők vagy visszaadott értékek attribútumára használható. |
ComConversionLossAttribute | Azt jelzi, hogy egy osztály vagy felület adatai elvesztek, amikor egy típustárból egy szerelvénybe importálták. |
ComEventInterfaceAttribute | Azonosítja a forrásfelületet és az eseményillesztő metódusait implementáló osztályt. |
ImportedFromTypeLibAttribute | Azt jelzi, hogy a szerelvény eredetileg egy COM-típusú kódtárból lett importálva. Ez az attribútum az eredeti típustár típustár-definícióját tartalmazza. |
TypeLibFuncAttribute | A függvényhez eredetileg a COM-típustárból importált FUNCFLAGS-t tartalmazza. |
TypeLibTypeAttribute | Az ehhez a típushoz eredetileg importált TYPEFLAGS-t tartalmazza a COM-típustárból. |
TypeLibVarAttribute | A VÁLTOZÓhoz eredetileg a COM típusú kódtárból importált VARFLAGS-t tartalmazza. |
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: