CustomAttributeBuilder Constructor (ConstructorInfo, Object[], FieldInfo[], Object[])
Initializes an instance of the CustomAttributeBuilder class given the constructor for the custom attribute, the arguments to the constructor, and a set of named field/value pairs.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
public CustomAttributeBuilder(
ConstructorInfo con,
Object[] constructorArgs,
FieldInfo[] namedFields,
Object[] fieldValues
)
Parameters
- con
- Type: System.Reflection.ConstructorInfo
The constructor for the custom attribute.
- constructorArgs
- Type: System.Object[]
The arguments to the constructor of the custom attribute.
- namedFields
- Type: System.Reflection.FieldInfo[]
Named fields of the custom attribute.
- fieldValues
- Type: System.Object[]
Values for the named fields of the custom attribute.
| Exception | Condition |
|---|---|
| ArgumentException | 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 field values do not match the types of the named fields. -or- The field does not belong to the same class or base class as the constructor. -or- A supplied argument or named field is a reference type other than String or Type. |
| ArgumentNullException | One of the parameters is null. |
The elements of the constructorArgs and 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 fields in 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