AssemblyCopyrightAttribute Class
Defines a copyright custom attribute for an assembly manifest.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | AssemblyCopyrightAttribute(String) | Initializes a new instance of the AssemblyCopyrightAttribute class. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | This API supports the product infrastructure and is not intended to be used directly from your code. 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() | |
![]() | 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(Object) | 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(Guid, IntPtr, UInt32, UInt32, IntPtr) | Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) | Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount(UInt32) | Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Provides access to properties and methods exposed by an object.(Inherited from Attribute.) |
The following example shows how to apply attributes, including the AssemblyCopyrightAttribute 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"); } }
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



