核心程式碼
using System.Reflection; using System.Runtime.InteropServices; // 有关程序集的常规信息通过下列特性集 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 [assembly: AssemblyTitle("MusicStore")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("MusicStore")] [assembly: AssemblyCopyright("Copyright © Microsoft 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // 将 ComVisible 设置为 false 会使此程序集中的类型 // 对 COM 组件不可见。如果需要 // 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。 [assembly: ComVisible(false)] // 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID [assembly: Guid("a9ef3281-9049-4a52-a2f1-2061d442200e")] // 程序集的版本信息由下列四个值组成: // // 主版本 // 次版本 // 内部版本号 // 修订版本 // // 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值, // 方法是按如下所示使用 "*": [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]
3.程式集清單特性
可以使用程式集清單特性提供程式集清單中的資訊。其中包括標題、說明、預設別名和配置。
4.強名稱特性(不深入)
一般存在Visual Studio 的早期版本,若要使用強名稱的程序集執行以下程序集級別特性:
①AssemblyKeyFileAttribute ②AssemblyKeyNameAttribute ③AssemblyDelaySignAttribute這仍然支持,但是,給程序集簽名的首選方法是使用“簽名頁”。 (這裡不深入了解) 二、已過時的特性 Obsolete 屬性指示某個程式實體標記為建議不再使用的一個。 每次使用對實體標記為過時根據隨後將產生警告或錯誤,配置屬性。/// <summary> /// 旧类 /// </summary> [Obsolete("请使用 " + nameof(NewClass))] class OldClass { public void Method() { } } /// <summary> /// 新类 /// </summary> class NewClass { [Obsolete("请使用 " + nameof(NewMethod), true)] public void OldMethod() { } public void NewMethod() { } }
class Program { static void Main(string[] args) { var oldClass = new OldClass(); //警告 var newClass = new NewClass(); newClass.OldMethod(); //报错 } }