CustomAttributeBuilder Constructor (ConstructorInfo, Object[], PropertyInfo[], 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 property or value pairs.

Namespace:   System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public CustomAttributeBuilder(
	ConstructorInfo con,
	object[] constructorArgs,
	PropertyInfo[] namedProperties,
	object[] propertyValues


Type: System.Reflection.ConstructorInfo

The constructor for the custom attribute.

Type: System.Object[]

The arguments to the constructor of the custom attribute.

Type: System.Reflection.PropertyInfo[]

Named properties of the custom attribute.

Type: System.Object[]

Values for the named properties of the custom attribute.

Exception Condition

The lengths of the namedProperties and propertyValues 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 property values do not match the types of the named properties.


A property has no setter method.


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


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


One of the parameters is null.

The elements of the constructorArgs and propertyValues 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.


Do not include private properties in namedProperties. Doing so will cause CustomAttributeFormatException to be thrown when the GetCustomAttributes method is later called on the completed type.

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 8.0
Return to top