科技知識動態:剖析 AssemblyInfo.cs - 從這里了解常用的特性 Attribute

導讀 跟大家講解下有關剖析 AssemblyInfo cs - 從這里了解常用的特性 Attribute,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們

跟大家講解下有關剖析 AssemblyInfo.cs - 從這里了解常用的特性 Attribute,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說剖析 AssemblyInfo.cs - 從這里了解常用的特性 Attribute,小編也收集到了有關剖析 AssemblyInfo.cs - 從這里了解常用的特性 Attribute的相關資料,希望大家看到了會喜歡。

核心代碼

1.png

展開圖中的代碼,看箭頭↓

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")]

一、全局屬性

  大多數特性適用于特定的語言元素(如類或方法),但是,有些屬性是全局它們適用于整個程序集或模塊。如:AssemblyVersionAttribute 屬性可用于向程序集中嵌入版本信息。

  全局特性在源代碼中出現在任何頂級 using 指令以及任何類型、模塊或命名空間聲明之前。全局特性可顯示在多個源文件,但是,在單一編譯傳遞必須編譯文件。在 C# 項目中,它們在 AssemblyInfo.cs 文件中。

  程序集特性是提供有關程序集的信息的值。它們分成以下類別:

    ①程序集標識特性

    ②信息性特性

    ③程序集清單特性

    ④強名稱特性

  

  1.程序集標識特性

  三個特性 (使用強名稱,如果適用) 確定程序集的標識:名稱、版本和區域性。當在代碼中引用時,這些特性構成程序集的完整名稱需要。使用特性,可以將程序集的版本和區域性。但是,名稱值由編譯器,在 “程序集信息”對話框 的 Visual Studio IDE 設置,創建程序集后,根據包含程序集清單的文件。AssemblyFlagsAttribute 特性指定程序集的多個副本是否可以共存。

1.png

1.png

1.png

圖 - “程序集信息”對話框中的名詞和 AssemblyInfo.cs 文件的對應關系

2.信息性特性

  您可以使用信息性特性為程序集提供其他的公司或產品信息。

1.png

  3.程序集清單特性

  可以使用程序集清單特性提供程序集清單中的信息。其中包括標題、說明、默認別名和配置。

1.png

4.強名稱特性(不深入)

  一般存在 Visual Studio 的早期版本,若要使用強名稱的程序集執行以下程序集級別特性:

    ①AssemblyKeyFileAttribute

    ②AssemblyKeyNameAttribute

    ③AssemblyDelaySignAttribute

  這仍支持,但是,給程序集簽名的首選方法是使用“簽名頁”。(這里不深入了解)

二、已過時的特性

  Obsolete 屬性指示某個程序實體標記為建議不再使用的一個。 每次使用對實體標記為過時根據隨后將生成警告或錯誤,配置屬性。

/// /// 舊類 /// [Obsolete("請使用"+ nameof(NewClass))] class OldClass { public void Method() { } } /// /// 新類 /// 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();  //報錯 } }

1.png

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!