CustomAttributeBuilder Constructor (ConstructorInfo, array<Object>, array<PropertyInfo>, array<Object>, array<FieldInfo>, array<Object>)
Initializes an instance of the CustomAttributeBuilder class given the constructor for the custom attribute, the arguments to the constructor, a set of named property or value pairs, and a set of named field or value pairs.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
public: CustomAttributeBuilder( ConstructorInfo^ con, array<Object^>^ constructorArgs, array<PropertyInfo^>^ namedProperties, array<Object^>^ propertyValues, array<FieldInfo^>^ namedFields, array<Object^>^ fieldValues )
Parameters
- con
- Type: System.Reflection::ConstructorInfo
The constructor for the custom attribute.
- constructorArgs
- Type: array<System::Object>
The arguments to the constructor of the custom attribute.
- namedProperties
- Type: array<System.Reflection::PropertyInfo>
Named properties of the custom attribute.
- propertyValues
- Type: array<System::Object>
Values for the named properties of the custom attribute.
- namedFields
- Type: array<System.Reflection::FieldInfo>
Named fields of the custom attribute.
- fieldValues
- Type: array<System::Object>
Values for the named fields of the custom attribute.
| Exception | Condition |
|---|---|
| ArgumentException | The lengths of the namedProperties and propertyValues arrays are different. -or- The lengths of the namedFields and fieldValues arrays are different. -or- con is static or private. -or- The number of supplied arguments does not match the number of parameters of the constructor as required by the calling convention of the constructor. -or- The type of supplied argument does not match the type of the parameter declared in the constructor. -or- The types of the property values do not match the types of the named properties. -or- The types of the field values do not match the types of the corresponding field types. -or- A property has no setter. -or- The property or field does not belong to the same class or base class as the constructor. -or- A supplied argument, named property, or named field is a reference type other than String or Type. |
| ArgumentNullException | One of the parameters is nullptr. |
The elements of the constructorArgs, propertyValues, or fieldValues arrays are restricted to element types. They can be byte, sbyte, int, uint, long, ulong, float, double, String, char, bool, an enum, a type, any of the previous types that was cast to an object, or a single-dimension, zero-based array of any of the previous types.
Important |
|---|
Do not include private properties or fields in namedProperties or namedFields. Doing so will cause CustomAttributeFormatException to be thrown when the GetCustomAttributes method is later called on the completed type. |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Important