public void AddSupertypingAdapter(TypeBuilder typeBuilder, TypeData adapteeType, Type adapterType) { Type[] paramTypes = new Type[] { typeof(Type), typeof(Type) }; ConstructorInfo constructor = typeof(SupertypingAdapterAttribute).GetConstructor(paramTypes); object[] parameters = new object [] { adapteeType.RawType, adapterType }; CustomAttributeBuilder attrBuilder = new CustomAttributeBuilder(constructor, parameters); typeBuilder.SetCustomAttribute(attrBuilder); Attribute attr = new SupertypingAdapterAttribute(adapteeType.RawType, adapterType); AddCustomAttribute(typeBuilder, attr); }