Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
System.Runtime.InteropServices Obor názvů poskytuje tři kategorie atributů specifických pro interoperabilitu: ty, které aplikujete vy v době návrhu, ty, které používají nástroje a API COM interop během procesu převodu, a ty, které aplikujete buď vy, nebo COM interop.
Pokud neznáte úlohu použití atributů na spravovaný kód, přečtěte si téma Rozšíření metadat pomocí atributů. Stejně jako jiné vlastní atributy můžete použít atributy specifické pro interoperabilitu pro typy, metody, vlastnosti, parametry, pole a další členy.
atributy Design-Time
Výsledek procesu převodu prováděného nástroji a rozhraními API pro interoperabilitu modelu COM můžete upravit pomocí atributů pro čas návrhu. Následující tabulka popisuje atributy, které můžete použít u spravovaného zdrojového kódu. Nástroje pro zprostředkování COM můžou někdy také používat atributy popsané v této tabulce.
| Vlastnost | Popis |
|---|---|
| AutomationProxyAttribute | Určuje, jestli má být typ zařazován pomocí zařazovače Automation nebo vlastního proxy serveru a zástupných procedur. |
| ClassInterfaceAttribute | Určuje typ rozhraní vygenerovaného pro třídu. |
| CoClassAttribute | Identifikuje CLSID původní coclass, která byla importována z knihovny typů. Nástroje COM interoperabilita obvykle používají tento atribut. |
| ComImportAttribute | Označuje, že definice třídy coclass nebo rozhraní byla importována z knihovny typů modelu COM. Modul runtime pomocí tohoto příznaku zjistí, jak tento typ aktivovat a zařadí. Tento atribut zakáže export typu zpět do knihovny typů. Nástroje COM interoperabilita obvykle používají tento atribut. |
| ComRegisterFunctionAttribute | Označuje, že metoda by měla být volána při registraci sestavení pro použití z modelu COM, aby bylo možné spustit uživatelem napsaný kód během procesu registrace. |
| ComSourceInterfacesAttribute | Identifikuje rozhraní, která jsou zdroji událostí pro třídu. Nástroje COM interop mohou tento atribut použít. |
| ComUnregisterFunctionAttribute | Označuje, že metoda by měla být volána při zrušení registrace sestavení z modelu COM, aby se uživatelsky napsaný kód mohl vykonat během procesu. |
| ComVisibleAttribute | Vykreslí typy neviditelné modelu COM, pokud hodnota atributu se rovná false. Tento atribut lze použít na jednotlivé typy nebo na celé sestavení, aby bylo možné řídit viditelnost modelu COM. Ve výchozím nastavení jsou viditelné všechny spravované veřejné typy; atribut není potřeba k tomu, aby byly viditelné. |
| DispIdAttribute | Určuje identifikátor přiřazení rozhraní COM (DISPID) metody nebo pole. Tento atribut obsahuje DISPID pro metodu, pole nebo vlastnost, které popisuje. Nástroje COM interop mohou tento atribut použít. |
| ComDefaultInterfaceAttribute | Označuje výchozí rozhraní třídy COM implementované v .NET. Nástroje COM interop mohou tento atribut použít. |
| FieldOffsetAttribute | Určuje fyzickou pozici každého pole v rámci třídy při použití s StructLayoutAttribute a LayoutKind je nastavena na Explicit. |
| GuidAttribute | Určuje globálně jedinečný identifikátor (GUID) třídy, rozhraní nebo celé knihovny typů. Řetězec předaný atributu musí být formát, který je přijatelným argumentem konstruktoru pro typ System.Guid. Nástroje COM interop mohou tento atribut použít. |
| IDispatchImplAttribute | Označuje, které rozhraní IDispatch implementace používá common language runtime při zpřístupnění duálních rozhraní a dispinterface modelu COM. |
| InAttribute | Označuje, že data by měla být připravena pro volajícího. Lze použít k atributům parametrů. |
| InterfaceTypeAttribute | Řídí, jak je spravované rozhraní vystaveno klientům COM (duální, pouze odvozené od IUnknown, nebo pouze IDispatch). Nástroje COM interop mohou tento atribut použít. |
| LCIDConversionAttribute | Označuje, že nespravovaný podpis metody očekává parametr LCID. Nástroje COM interop mohou tento atribut použít. |
| MarshalAsAttribute | Určuje, jak se mají data v polích nebo parametrech zařaďovat mezi spravovaným a nespravovaným kódem. Atribut je vždy volitelný, protože každý datový typ má výchozí chování při zařazování. Nástroje COM interop mohou tento atribut použít. |
| OptionalAttribute | Označuje, že parametr je volitelný. Nástroje COM interop mohou tento atribut použít. |
| OutAttribute | Označuje, že data v poli nebo parametru musí být zpracována zpět z volaného objektu do volajícího. |
| PreserveSigAttribute | Potlačí transformaci signatury HRESULT nebo retval, která se obvykle provádí během interoperačních volání. Atribut ovlivňuje jak zařazování, tak export knihovny typů. Nástroje COM interop mohou tento atribut použít. |
| ProgIdAttribute | Určuje Identifikátor ProgID třídy .NET. Lze použít k třídám atributů. |
| StructLayoutAttribute | Řídí fyzické rozložení polí třídy. Nástroje COM interop mohou tento atribut použít. |
atributy Conversion-Tool
Následující tabulka popisuje atributy, které nástroje pro zprostředkování COM používají během procesu převodu. Tyto atributy v době návrhu nepoužijete.
| Vlastnost | Popis |
|---|---|
| ComAliasNameAttribute | Označuje alias modelu COM pro parametr nebo typ pole. Lze použít k atributu parametrů, polí nebo návratových hodnot. |
| ComConversionLossAttribute | Označuje, že při importu z knihovny typů do sestavení došlo ke ztrátě informací o třídě nebo rozhraní. |
| ComEventInterfaceAttribute | Identifikuje zdrojové rozhraní a třídu, která implementuje metody rozhraní událostí. |
| ImportedFromTypeLibAttribute | Označuje, že sestavení bylo původně importováno z knihovny typů modelu COM. Tento atribut obsahuje definici knihovny typů původní knihovny typů. |
| TypeLibFuncAttribute | Obsahuje FUNCFLAGS , které byly původně importovány pro tuto funkci z knihovny typů modelu COM. |
| TypeLibTypeAttribute | Obsahuje TYPEFLAGS, které byly importovány původně pro tento typ z knihovny typů COM. |
| TypeLibVarAttribute | Obsahuje VARFLAGS , které byly původně importovány pro tuto proměnnou z knihovny typů modelu COM. |