C# 中的彙編參考

PHPz
發布: 2024-09-03 15:19:53
原創
1097 人瀏覽過

在 C# 中,我們有參考組件,它包含表示 API 表面所需的最少量的元資料。因此,參考程序集包括所有有用成員的聲明,但它們將排除所有私有 me 實作和聲明,這些實作和聲明不會對 APsurface 產生任何影響,因為它基本上提供了表示 APsurface 契約的元資料。所以我們這裡有兩種類型的程序集,一種是實現,另一種是引用程序集,但是我們不能使用引用程序集來加載執行,並且這些類型的程序集基本上是與代表軟體開發工具包的SDK一起分發的。圖書館或平台。

C# 中彙編引用的語法

我們知道,它是一種將我們的程式碼組裝成Assembly的機制;為此,我們沒有特定的語法,但我們可以按照一些步驟在 C# 中定義彙編。為此,我們可以使用引用管理器對話方塊來管理和新增對元件的參考。但如果我們想新增對自訂元件的引用,則必須手動完成。

引用程式碼需要遵循的步驟:

  • 首先,我們必須為每個組件建立一個單獨的資料夾;然後,我們可以將腳本移到屬於相關資料夾的資料夾中。
  • 然後我們讓Unity負責取得所有包含程式集定義的腳本;之後,它將編譯它們並使用資產定義來新增必要的資訊。
  • Unity 將為我們編譯所有組件並識別它們的依賴關係。所以它減少了我們的工作。

這些是在 C# 中使用參考組件時需要牢記的一些要點;它更多地由我們的工具管理。

彙編參考在 C# 中如何運作?

如我們所知,引用 Assembly 透過提供有關 API 的元資料來表示 API 表面。所以我們了解了參考程序集和實現程序集,但在這裡我們將了解它在參考程序集上的工作原理及其使用目的。

1.透過使用引用程序集,我們可以輕鬆地指向庫的引用,而無需該版本的完整實作。簡而言之,它使開發人員能夠引用該特定庫的特定版本。

2.讓我們透過一個簡單的例子來理解,假設我們擁有機器中特定庫的最新版本。但是在目前的程式中,我們想要使用低於我們擁有的最新版本的特定版本,因此在這種情況下,我們可以使用引用程序集,它將指向該庫的先前版本,但我們可以也會出現編譯時錯誤。

現在讓我們來看看 C# 中參考組件的結構:

參考組件也稱為純元資料組件;它們包括除私有和匿名類型之外的所有成員。此外,他們的方法體被替換為 throw null;使用它的原因是為了驗證並運行,通過。我們已經知道它從元資料中刪除了私有 mems,這對於引用 API 表面非常有用。

它所儲存的代表API的元資料資訊如下:

  • 它包含結構體的所有欄位。
  • 它還包括所有虛擬方法。
  • 它還包括所有類型、巢狀類型和私有類型。
  • 它還包括有關已實現的屬性和事件的元數據,因為它們的存取器是虛擬的(如果我們可以看到的話)。
  • 此外,它還包括有關屬性的詳細資訊。

現在我們可以看到如何使用一些工具或 IDS 來產生參考組件。

我們產生參考庫,因為我們可能有不同的場景,該庫的使用者希望對特定程式使用某些不同的版本,因此參考組件幫助我們實現程式的這種處理,因為它們的大小非常小,而且它們僅作為軟體開發工具包的一部分進行分發,這也有助於我們減少下載大小並幫助我們節省磁碟空間。

透過使用以下幾點,我們可以產生 C# 中的參考組件:

  • 我們可以利用ProduceReferenceAssembly來產生參考組件。
  • 我們可以利用 EmitMetadataOnly 和 IncludePrivateMembers 屬性來設定值並為其啟用元資料。他們接受布林值 true 或 false。在這種情況下,要產生參考程序集,我們必須將它們分別設為 True 和 False。
  • 在C#中,當我們嘗試使用命令列編譯程式來產生引用程序集時,我們可以使用-refonly,否則我們可以使用-refout作為編譯器選項,這樣它將產生引用程序集為了我們。

我們可以按照以下步驟添加此內容:

1.前往 Visual Studio 並選擇您的專案根目錄。

C# 中的彙編參考

2.參考選項卡,您將在螢幕上看到以下對話框,選擇您要新增的依賴項並按確定。

C# 中的彙編參考

結論

透過使用參考庫,我們可以處理最新版本和先前版本或特定庫,而無需它們加載填充實作。這可以在幾個方面幫助我們,例如節省磁碟空間,提高效能等等。此外,透過設定一些變數值並透過命令列傳遞參數,它很容易使用和建構。

以上是C# 中的彙編參考的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!