Assembly.GetCustomAttributes Metoda
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.
GetCustomAttributes(Boolean) |
Pobiera wszystkie atrybuty niestandardowe dla tego zestawu. |
GetCustomAttributes(Type, Boolean) |
Pobiera atrybuty niestandardowe dla tego zestawu zgodnie z typem. |
- Ź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 | CorPInvokeMap Nazwa 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().OLE ConstructorInfo.GetMethodImplementationFlags().OLE |
InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
StructLayoutAttribute | CorTypeAttr.tdLayoutSequential CorTypeAttr.tdExplicitLayout CorTypeAttr.tdAnsiClass CorTypeAttr.tdUnicodeClass CorTypeAttr.tdAutoClass Pakowanie klas. |
Type.Attributes.LayoutSequential Type.Attributes.ExplicitLayout Type.Attributes.AnsiClass Type.Attributes.UnicodeClass Type.Attributes.AutoClass Brak akcesora. |
FieldOffsetAttribute | Przesunięcie pola. | Brak akcesora. |
AssemblyLoadAttribute |
CorAssemblyFlags |
Brak metody dostępu ani modułu wyliczającego. |
Dotyczy
.NET 10 i inne wersje
Produkt | Wersje |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Ź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 | CorPInvokeMap Nazwa 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().OLE ConstructorInfo.GetMethodImplementationFlags().OLE |
InAttribute | CorParamAttr.pdIn |
ParameterInfo.Attributes.In |
OutAttribute | CorParamAttr.pdOut |
ParameterInfo.Attributes.Out |
StructLayoutAttribute | CorTypeAttr.tdLayoutSequential CorTypeAttr.tdExplicitLayout CorTypeAttr.tdAnsiClass CorTypeAttr.tdUnicodeClass CorTypeAttr.tdAutoClass Pakowanie klas. |
Type.Attributes.LayoutSequential Type.Attributes.ExplicitLayout Type.Attributes.AnsiClass Type.Attributes.UnicodeClass Type.Attributes.AutoClass Brak akcesora. |
FieldOffsetAttribute | Przesunięcie pola. | Brak akcesora. |
AssemblyLoadAttribute |
CorAssemblyFlags |
Brak metody dostępu ani modułu wyliczającego. |
Dotyczy
.NET 10 i inne wersje
Produkt | Wersje |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: