AssemblyCompanyAttribute Class
Defines a company name custom attribute for an assembly manifest.
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
The AssemblyCompanyAttribute type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() ![]() | AssemblyCompanyAttribute | Initializes a new instance of the AssemblyCompanyAttribute class. |
| Name | Description | |
|---|---|---|
![]() ![]() ![]() ![]() | Equals | Infrastructure. Returns a value that indicates whether this instance is equal to a specified object. (Inherited from Attribute.) |
![]() ![]() ![]() ![]() | GetHashCode | Returns the hash code for this instance. (Inherited from Attribute.) |
![]() ![]() ![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute.) |
![]() ![]() | Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) |
![]() ![]() ![]() ![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) |
The following example shows how to apply attributes, including the AssemblyCompanyAttribute attribute, to a dynamic assembly. The example saves the assembly to disk, and the attribute value can be viewed by using the Windows File Properties dialog.
using System; using System.Reflection; using System.Reflection.Emit; class Example { public static void Main() { AssemblyName assemName = new AssemblyName(); assemName.Name = "EmittedAssembly"; // Create a dynamic assembly in the current application domain, // specifying that the assembly is to be saved. // AssemblyBuilder myAssembly = AppDomain.CurrentDomain.DefineDynamicAssembly(assemName, AssemblyBuilderAccess.Save); // To apply an attribute to a dynamic assembly, first get the // attribute type. The AssemblyFileVersionAttribute sets the // File Version field on the Version tab of the Windows file // properties dialog. // Type attributeType = typeof(AssemblyFileVersionAttribute); // To identify the constructor, use an array of types representing // the constructor's parameter types. This ctor takes a string. // Type[] ctorParameters = { typeof(string) }; // Get the constructor for the attribute. // ConstructorInfo ctor = attributeType.GetConstructor(ctorParameters); // Pass the constructor and an array of arguments (in this case, // an array containing a single string) to the // CustomAttributeBuilder constructor. // object[] ctorArgs = { "2.0.3033.0" }; CustomAttributeBuilder attribute = new CustomAttributeBuilder(ctor, ctorArgs); // Finally, apply the attribute to the assembly. // myAssembly.SetCustomAttribute(attribute); // The pattern described above is used to create and apply // several more attributes. As it happens, all these attributes // have a constructor that takes a string, so the same ctorArgs // variable works for all of them. // The AssemblyTitleAttribute sets the Description field on // the General tab and the Version tab of the Windows file // properties dialog. // attributeType = typeof(AssemblyTitleAttribute); ctor = attributeType.GetConstructor(ctorParameters); ctorArgs = new object[] { "The Application Title" }; attribute = new CustomAttributeBuilder(ctor, ctorArgs); myAssembly.SetCustomAttribute(attribute); // The AssemblyCopyrightAttribute sets the Copyright field on // the Version tab. // attributeType = typeof(AssemblyCopyrightAttribute); ctor = attributeType.GetConstructor(ctorParameters); ctorArgs = new object[] { "� My Example Company 1991-2005" }; attribute = new CustomAttributeBuilder(ctor, ctorArgs); myAssembly.SetCustomAttribute(attribute); // The AssemblyDescriptionAttribute sets the Comment item. // attributeType = typeof(AssemblyDescriptionAttribute); ctor = attributeType.GetConstructor(ctorParameters); attribute = new CustomAttributeBuilder(ctor, new object[] { "This is a comment." }); myAssembly.SetCustomAttribute(attribute); // The AssemblyCompanyAttribute sets the Company item. // attributeType = typeof(AssemblyCompanyAttribute); ctor = attributeType.GetConstructor(ctorParameters); attribute = new CustomAttributeBuilder(ctor, new object[] { "My Example Company" }); myAssembly.SetCustomAttribute(attribute); // The AssemblyProductAttribute sets the Product Name item. // attributeType = typeof(AssemblyProductAttribute); ctor = attributeType.GetConstructor(ctorParameters); attribute = new CustomAttributeBuilder(ctor, new object[] { "My Product Name" }); myAssembly.SetCustomAttribute(attribute); // Define the assembly's only module. For a single-file assembly, // the module name is the assembly name. // ModuleBuilder myModule = myAssembly.DefineDynamicModule(assemName.Name, assemName.Name + ".exe"); // No types or methods are created for this example. // Define the unmanaged version information resource, which // contains the attribute informaion applied earlier, and save // the assembly. Use the Windows Explorer to examine the properties // of the .exe file. // myAssembly.DefineVersionInfoResource(); myAssembly.Save(assemName.Name + ".exe"); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.


