Assembly.GetCustomAttributes Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera atrybuty niestandardowe dla tego zestawu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| GetCustomAttributes(Boolean) |
Pobiera wszystkie atrybuty niestandardowe dla tego zestawu. |
| GetCustomAttributes(Type, Boolean) |
Pobiera atrybuty niestandardowe dla tego zestawu zgodnie z typem. |
GetCustomAttributes(Boolean)
- Źródło:
- Assembly.cs
- Źródło:
- Assembly.cs
- Źródło:
- Assembly.cs
- Źródło:
- Assembly.cs
Pobiera wszystkie atrybuty niestandardowe dla tego zestawu.
public:
virtual cli::array <System::Object ^> ^ GetCustomAttributes(bool inherit);
public virtual object[] GetCustomAttributes(bool inherit);
abstract member GetCustomAttributes : bool -> obj[]
override this.GetCustomAttributes : bool -> obj[]
Public Overridable Function GetCustomAttributes (inherit As Boolean) As Object()
Parametry
Zwraca
Tablica zawierająca atrybuty niestandardowe dla tego zestawu.
Implementuje
Uwagi
Ta metoda implementuje odpowiednią ICustomAttributeProvider metodę interfejsu. W związku z inherit tym należy określić parametr, mimo że jest on ignorowany.
Pseudo-atrybut wskazuje bity podstawowych metadanych, które należy ustawić, gdy atrybut jest obecny. W przeciwieństwie do atrybutu niestandardowego, który rozszerza metadane dla typu i jest zapisywany wraz z typem, pseudo-atrybut modyfikuje metadane dla typu, a następnie jest odrzucany. Do niektórych bitów wynikowych nie można uzyskać dostępu przy użyciu istniejących interfejsów API odbicia.
W poniższej tabeli podsumowano różne pseudo-atrybuty i metody dostępu dla bitów, które są dostępne w odbiciu.
| Pseudo-Attribute | Bity metadanych | Akcesorium odbicia |
|---|---|---|
| DllImportAttribute | CorPInvokeMapNazwa biblioteki DLL |
Brak metody dostępu do PInvokeMap zwykłych atrybutów metody/metody globalnej.Brak dostępu do nazwy biblioteki DLL. |
| GuidAttribute | Przechowywane jako rzeczywisty atrybut niestandardowy. | Uzyskiwany dostęp jako rzeczywisty atrybut niestandardowy. |
| ComImportAttribute | CorTypeAttr.tdImport |
Type.Attributes.Import |
| SerializableAttribute | CorTypeAttr.tdSerializable |
Type.Attributes.Serializable |
| NonSerializedAttribute | CorFieldAttr.fdNotSerialized |
FieldInfo.Attributes.NotSerialized |
| MethodImplAttribute | CorMethodImpl |
MethodInfo.GetMethodImplementationFlags()ConstructorInfo.GetMethodImplementationFlags() |
| MarshalAsAttribute | Różne bity. | Brak akcesora. |
| PreserveSigAttribute | CorMethodImpl.miOLE |
MethodInfo.GetMethodImplementationFlags().OLEConstructorInfo.GetMethodImplementationFlags().OLE |
| InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
| OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
| StructLayoutAttribute | CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdExplicitLayoutCorTypeAttr.tdAnsiClassCorTypeAttr.tdUnicodeClassCorTypeAttr.tdAutoClassPakowanie klas. |
Type.Attributes.LayoutSequentialType.Attributes.ExplicitLayoutType.Attributes.AnsiClassType.Attributes.UnicodeClassType.Attributes.AutoClassBrak akcesora. |
| FieldOffsetAttribute | Przesunięcie pola. | Brak akcesora. |
AssemblyLoadAttribute |
CorAssemblyFlags |
Brak metody dostępu ani modułu wyliczającego. |
Dotyczy
GetCustomAttributes(Type, Boolean)
- Źródło:
- Assembly.cs
- Źródło:
- Assembly.cs
- Źródło:
- Assembly.cs
- Źródło:
- Assembly.cs
Pobiera atrybuty niestandardowe dla tego zestawu zgodnie z typem.
public:
virtual cli::array <System::Object ^> ^ GetCustomAttributes(Type ^ attributeType, bool inherit);
public virtual object[] GetCustomAttributes(Type attributeType, bool inherit);
abstract member GetCustomAttributes : Type * bool -> obj[]
override this.GetCustomAttributes : Type * bool -> obj[]
Public Overridable Function GetCustomAttributes (attributeType As Type, inherit As Boolean) As Object()
Parametry
- attributeType
- Type
Typ, dla którego mają być zwracane atrybuty niestandardowe.
Zwraca
Tablica zawierająca atrybuty niestandardowe dla tego zestawu określone przez attributeType.
Implementuje
Wyjątki
attributeType to null.
attributeType nie jest typem środowiska uruchomieniowego.
Uwagi
Ta metoda implementuje odpowiednią ICustomAttributeProvider metodę interfejsu. W związku z inherit tym należy określić parametr, mimo że jest on ignorowany.
Pseudo-atrybut wskazuje bity podstawowych metadanych, które należy ustawić, gdy atrybut jest obecny. W przeciwieństwie do atrybutu niestandardowego, który rozszerza metadane dla typu i jest zapisywany wraz z typem, pseudo-atrybut modyfikuje metadane dla typu, a następnie jest odrzucany. Do niektórych bitów wynikowych nie można uzyskać dostępu przy użyciu istniejących interfejsów API odbicia.
W poniższej tabeli podsumowano różne pseudo-atrybuty i metody dostępu dla bitów, które są dostępne w odbiciu.
| Pseudo-Attribute | Bity metadanych | Akcesorium odbicia |
|---|---|---|
| DllImportAttribute | CorPInvokeMapNazwa biblioteki DLL |
Brak metody dostępu do PInvokeMap zwykłych atrybutów metody/metody globalnej.Brak dostępu do nazwy biblioteki DLL. |
| GuidAttribute | Przechowywane jako rzeczywisty atrybut niestandardowy. | Uzyskiwany dostęp jako rzeczywisty atrybut niestandardowy. |
| ComImportAttribute | CorTypeAttr.tdImport |
Type.Attributes.Import |
| SerializableAttribute | CorTypeAttr.tdSerializable |
Type.Attributes.Serializable |
| NonSerializedAttribute | CorFieldAttr.fdNotSerialized |
FieldInfo.Attributes.NotSerialized |
| MethodImplAttribute | CorMethodImpl |
MethodInfo.GetMethodImplementationFlags()ConstructorInfo.GetMethodImplementationFlags() |
| MarshalAsAttribute | Różne bity. | Brak akcesora. |
| PreserveSigAttribute | CorMethodImpl.miOLE |
MethodInfo.GetMethodImplementationFlags().OLEConstructorInfo.GetMethodImplementationFlags().OLE |
| InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
| OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
| StructLayoutAttribute | CorTypeAttr.tdLayoutSequentialCorTypeAttr.tdExplicitLayoutCorTypeAttr.tdAnsiClassCorTypeAttr.tdUnicodeClassCorTypeAttr.tdAutoClassPakowanie klas. |
Type.Attributes.LayoutSequentialType.Attributes.ExplicitLayoutType.Attributes.AnsiClassType.Attributes.UnicodeClassType.Attributes.AutoClassBrak akcesora. |
| FieldOffsetAttribute | Przesunięcie pola. | Brak akcesora. |
AssemblyLoadAttribute |
CorAssemblyFlags |
Brak metody dostępu ani modułu wyliczającego. |