CustomAttributeBuilder Constructor (ConstructorInfo, Object[], PropertyInfo[], Object[], FieldInfo[], Object[])
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Initializes a new 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.
Assembly: mscorlib (in mscorlib.dll)
public CustomAttributeBuilder(
ConstructorInfo con,
Object[] constructorArgs,
PropertyInfo[] namedProperties,
Object[] propertyValues,
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.
- namedProperties
- Type:
System.Reflection.PropertyInfo
[]
Named properties of the custom attribute.
- propertyValues
- Type:
System.Object
[]
Values for the named properties 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 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 null. |
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 Note: |
|---|
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. |
Important Note: