Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
System.Runtime.InteropServices Przestrzeń nazw zawiera trzy kategorie atrybutów specyficznych dla interoperacyjności: zastosowane przez użytkownika w czasie projektowania, stosowane przez narzędzia i interfejsy API interoperacyjności COM podczas procesu konwersji oraz te stosowane albo przez użytkownika, albo przez interoperacyjność COM.
Jeśli nie znasz zadania stosowania atrybutów do kodu zarządzanego, zobacz Rozszerzanie metadanych przy użyciu atrybutów. Podobnie jak inne atrybuty niestandardowe, można stosować atrybuty specyficzne dla interoperacyjności do typów, metod, właściwości, parametrów, pól i innych elementów członkowskich.
Design-Time Atrybuty
Możesz dostosować wynik procesu konwersji wykonywanego przez narzędzia i interfejsy API międzyoperacyjności COM przy użyciu atrybutów dla czasu projektowania. W poniższej tabeli opisano atrybuty, które można zastosować do zarządzanego kodu źródłowego. Narzędzia międzyoperacyjności COM mogą od czasu do czasu również stosować atrybuty opisane w tej tabeli.
Atrybut | Opis |
---|---|
AutomationProxyAttribute | Określa, czy typ ma być przetwarzany przy użyciu marshaler Automation lub niestandardowego serwera proxy i szkieletu. |
ClassInterfaceAttribute | Określa typ interfejsu wygenerowanego dla klasy. |
CoClassAttribute | Identyfikuje identyfikator CLSID oryginalnej coklasy importowanej z biblioteki typów. Narzędzia międzyoperacowe modelu COM zwykle stosują ten atrybut. |
ComImportAttribute | Wskazuje, że coclass lub definicja interfejsu została zaimportowana z biblioteki typów COM. Środowisko uruchomieniowe używa tej flagi do poznania sposobu aktywowania i marshalingu typu. Ten atrybut uniemożliwia eksportowanie typu z powrotem do biblioteki typów. Narzędzia międzyoperacowe modelu COM zwykle stosują ten atrybut. |
ComRegisterFunctionAttribute | Wskazuje, że należy wywołać metodę, gdy zestaw jest zarejestrowany do użycia z modelu COM, aby można było wykonać kod napisany przez użytkownika podczas procesu rejestracji. |
ComSourceInterfacesAttribute | Identyfikuje interfejsy, które są źródłami zdarzeń dla klasy. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
ComUnregisterFunctionAttribute | Wskazuje, że metoda powinna być wywoływana, gdy zestaw jest wyrejestrowany z modelu COM, aby kod napisany przez użytkownika mógł zostać wykonany podczas procesu. |
ComVisibleAttribute | Renderuje typy niewidoczne dla modelu COM, gdy wartość atrybutu jest równa false. Ten atrybut można zastosować do pojedynczego typu lub do całego zestawu w celu kontrolowania widoczności COM. Domyślnie wszystkie zarządzane typy publiczne są widoczne; atrybut nie jest potrzebny, aby były widoczne. |
DispIdAttribute | Określa identyfikator dyspozytora COM (DISPID) metody lub pola. Ten atrybut zawiera identyfikator DISPID dla metody, pola lub właściwości, która opisuje. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
ComDefaultInterfaceAttribute | Wskazuje interfejs domyślny dla klasy COM zaimplementowanej na platformie .NET. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
FieldOffsetAttribute | Wskazuje fizyczne położenie każdego pola w klasie, gdy jest używane z atrybutem StructLayoutAttribute, a właściwość LayoutKind jest ustawiona na Jawne. |
GuidAttribute | Określa globalnie unikatowy identyfikator (GUID) klasy, interfejsu lub całej biblioteki typów. Ciąg przekazany do atrybutu musi być formatem, który jest akceptowalnym argumentem konstruktora dla typu System.Guid. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
IDispatchImplAttribute | Wskazuje, która implementacja interfejsu IDispatch jest używana przez środowisko uruchomieniowe języka wspólnego podczas uwidaczniania podwójnych interfejsów i dispinterfaces w modelu COM. |
InAttribute | Wskazuje, że dane powinny być przeniesione do wywołującego. Może być używane do przypisywania parametrów. |
InterfaceTypeAttribute | Kontroluje sposób, w jaki zarządzany interfejs jest uwidaczniany dla klientów COM (Dual, pochodne IUnknown lub tylko IDispatch). Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
LCIDConversionAttribute | Wskazuje, że sygnatura metody niezarządzanej oczekuje parametru LCID. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
MarshalAsAttribute | Wskazuje sposób, w jaki dane w polach lub parametrach powinny być rozdzielane między kodem zarządzanym i niezarządzanym. Atrybut jest zawsze opcjonalny, ponieważ każdy typ danych ma domyślne zachowanie marshallingu. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
OptionalAttribute | Wskazuje, że parametr jest opcjonalny. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
OutAttribute | Wskazuje, że dane w polu lub parametrze muszą być przekazywane z obiektu wywołanego do obiektu wywołującego. |
PreserveSigAttribute | Pomija przekształcenie podpisu HRESULT lub retval, które normalnie ma miejsce podczas wywołań międzyoperacyjnych. Atrybut ma wpływ na marshalling, a także eksportowanie biblioteki typów. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
ProgIdAttribute | Określa wartość ProgID klasy .NET. Może służyć do atrybutów klas. |
StructLayoutAttribute | Steruje fizycznym układem pól klasy. Narzędzia międzyoperacyjne modelu COM mogą stosować ten atrybut. |
Conversion-Tool Atrybuty
W poniższej tabeli opisano atrybuty stosowane przez narzędzia międzyoperacyjności COM podczas procesu konwersji. Te atrybuty nie są stosowane w czasie projektowania.
Atrybut | Opis |
---|---|
ComAliasNameAttribute | Wskazuje alias COM dla parametru lub typu pola. Może służyć do atrybutów parametrów, pól lub zwracanych wartości. |
ComConversionLossAttribute | Wskazuje, że informacje o klasie lub interfejsie zostały utracone podczas importowania ich z biblioteki typów do zestawu. |
ComEventInterfaceAttribute | Identyfikuje interfejs źródłowy i klasę, która implementuje metody interfejsu zdarzenia. |
ImportedFromTypeLibAttribute | Wskazuje, że zestaw został pierwotnie zaimportowany z biblioteki typów COM. Ten atrybut zawiera definicję oryginalnej biblioteki typów. |
TypeLibFuncAttribute | Zawiera FUNCFLAGS, które zostały pierwotnie zaimportowane dla tej funkcji z biblioteki typów COM. |
TypeLibTypeAttribute | Zawiera TYPEFLAGS, które zostały pierwotnie zaimportowane dla tego typu z biblioteki typów COM. |
TypeLibVarAttribute | Zawiera VARFLAGS, które zostały pierwotnie zaimportowane dla tej zmiennej z biblioteki typów COM. |