CustomAttributeBuilder Constructor (ConstructorInfo, array<Object[], array<FieldInfo[], array<Object[])

Initializes a new 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 Sub New ( _
    con As ConstructorInfo, _
    constructorArgs As Object(), _
    namedFields As FieldInfo(), _
    fieldValues As Object() _
public CustomAttributeBuilder(
    ConstructorInfo con,
    Object[] constructorArgs,
    FieldInfo[] namedFields,
    Object[] fieldValues


  • constructorArgs
    Type: array<System.Object[]
    The arguments to the constructor of the custom attribute.
  • fieldValues
    Type: array<System.Object[]
    Values for the named fields of the custom attribute.


Exception Condition

The lengths of the namedFields and fieldValues arrays are different.


con is static or private.


The number of supplied arguments does not match the number of parameters of the constructor as required by the calling convention of the constructor.


The type of supplied argument does not match the type of the parameter declared in the constructor.


The types of the field values do not match the types of the named fields.


The field does not belong to the same class or base class as the constructor.


A supplied argument or named field is a reference type other than String or Type.


One of the parameters is nulla null reference (Nothing in Visual Basic).


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 noteImportant Note:

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.

Version Information


Supported in: 5, 4, 3


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.