Defines a company name custom attribute for an assembly manifest. : Attributes « Reflection « C# / C Sharp






Defines a company name custom attribute for an assembly manifest.

  

using System;
using System.Reflection;
using System.Reflection.Emit;

class Example
{
   public static void Main()
   {
      AssemblyName assemName = new AssemblyName();
      assemName.Name = "EmittedAssembly";

      AssemblyBuilder myAssembly = AppDomain.CurrentDomain.DefineDynamicAssembly(assemName, AssemblyBuilderAccess.Save);
      Type attributeType = typeof(AssemblyFileVersionAttribute);
      Type[] ctorParameters = { typeof(string) };
      ConstructorInfo ctor = attributeType.GetConstructor(ctorParameters);

      object[] ctorArgs = { "1.1.1111.0" };
      CustomAttributeBuilder attribute = new CustomAttributeBuilder(ctor, ctorArgs);
      myAssembly.SetCustomAttribute(attribute);

      attributeType = typeof(AssemblyTitleAttribute);
      ctor = attributeType.GetConstructor(ctorParameters);
      ctorArgs = new object[] { "Title" };
      attribute = new CustomAttributeBuilder(ctor, ctorArgs);
      myAssembly.SetCustomAttribute(attribute);

      attributeType = typeof(AssemblyCopyrightAttribute);
      ctor = attributeType.GetConstructor(ctorParameters);
      ctorArgs = new object[] { "Copyright 2010-2011" };
      attribute = new CustomAttributeBuilder(ctor, ctorArgs);
      myAssembly.SetCustomAttribute(attribute);

      attributeType = typeof(AssemblyDescriptionAttribute);
      ctor = attributeType.GetConstructor(ctorParameters);
      attribute = new CustomAttributeBuilder(ctor, new object[] { "a comment." });
      myAssembly.SetCustomAttribute(attribute);

      attributeType = typeof(AssemblyCompanyAttribute);
      ctor = attributeType.GetConstructor(ctorParameters);
      attribute = new CustomAttributeBuilder(ctor, new object[] { "My Example Company" });
      myAssembly.SetCustomAttribute(attribute);

      attributeType = typeof(AssemblyProductAttribute);
      ctor = attributeType.GetConstructor(ctorParameters);
      attribute = new CustomAttributeBuilder(ctor, new object[] { "My Product Name" });
      myAssembly.SetCustomAttribute(attribute);
      ModuleBuilder myModule = myAssembly.DefineDynamicModule(assemName.Name, assemName.Name + ".exe");

      myAssembly.DefineVersionInfoResource();
      myAssembly.Save(assemName.Name + ".exe");

   }
}

   
    
  








Related examples in the same category

1.Use GetCustomAttribute
2.Attributes:Reflecting on AttributesAttributes:Reflecting on Attributes
3.Displaying attributes for a class.
4.Specifies flags that describe the attributes of a field.Specifies flags that describe the attributes of a field.
5.Defines a copyright custom attribute for an assembly manifest.
6.Represents the base class for custom attributes.
7.Retrieves a custom attribute applied to a specified assembly.
8.Retrieves a custom attribute applied to a member of a type.
9.Get a custom attribute applied to a member of a type.
10.Get an array of the custom attributes applied to an assembly. A parameter specifies the assembly.
11.Get an array of the custom attributes applied to a method parameter.
12.Attribute.IsDefaultAttribute
13.Attribute.IsDefined
14.Determines whether any custom attributes are applied to an assembly.
15.Determines whether any custom attributes are applied to a member of a type.
16.Determines whether any custom attributes of a specified type are applied to a module.
17.Determines whether any custom attributes are applied to a method parameter.
18.Indicates to compilers that a method call or attribute should be ignored unless a specified conditional compilation symbol is defined.
19.Get member attribute
20.Attributed Types Utility
21.Retrieve Method Attribute Only
22.Retrieve Field Attribute List
23.Get Types With Attribute
24.Get Methods With Attribute
25.Get attribute value and convert to other type