.NET Core - 建立 .NET Standard 庫



類庫定義了可以從任何應用程式呼叫的型別和方法。

  • 使用 .NET Core 開發的類庫支援 .NET Standard 庫,這允許您的庫被支援該版本的 .NET Standard 庫的任何 .NET 平臺呼叫。

  • 完成類庫後,您可以決定是將其作為第三方元件分發,還是將其作為與一個或多個應用程式捆綁在一起的元件包含。

讓我們首先在控制檯應用程式中新增一個類庫專案;在解決方案資源管理器中右鍵單擊 **src** 資料夾,然後選擇 **新增→新專案…**

New Project

在 **新增新專案** 對話方塊中,選擇 .NET Core 節點,然後選擇類庫 (.NET Core) 專案模板。

在名稱文字框中,輸入“UtilityLibrary”作為專案名稱,如下圖所示。

UtilityLibrary

單擊確定以建立類庫專案。建立專案後,讓我們新增一個新類。在解決方案資源管理器中右鍵單擊 **專案**,然後選擇 **新增→類...**

Class

在中間窗格中選擇類,並在名稱和欄位中輸入 StringLib.cs,然後單擊 **新增**。新增類後,替換 StringLib.cs 檔案中的以下程式碼。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
  
namespace UtilityLibrary { 
   public static class StringLib { 
      public static bool StartsWithUpper(this String str) { 
         if (String.IsNullOrWhiteSpace(str)) 
         return false; 
         Char ch = str[0]; 
         return Char.IsUpper(ch); 
      } 
      public static bool StartsWithLower(this String str) { 
         if (String.IsNullOrWhiteSpace(str)) 
         return false; 
         Char ch = str[0]; 
         return Char.IsLower(ch); 
      } 
      public static bool StartsWithNumber(this String str) { 
         if (String.IsNullOrWhiteSpace(str)) 
         return false;  
         Char ch = str[0]; 
         return Char.IsNumber(ch); 
      } 
   } 
} 
  • 類庫 **UtilityLibrary.StringLib** 包含一些方法,例如 **StartsWithUpper**、**StartsWithLower** 和 **StartsWithNumber**,它們返回一個布林值,指示當前字串例項是否分別以大寫、小寫和數字開頭。

  • 在 .NET Core 中,**Char.IsUpper** 方法如果字元是大寫則返回 true,**Char.IsLower** 方法如果字元是小寫則返回 true,類似地,**Char.IsNumber** 方法如果字元是數字則返回 true。

  • 在選單欄上,選擇生成,生成解決方案。該專案應該能夠編譯而不出錯。

  • 我們的 .NET Core 控制檯專案無法訪問我們的類庫。

  • 現在要使用此類庫,我們需要在控制檯專案中新增此類庫的引用。

為此,展開 FirstApp 並右鍵單擊引用,然後選擇 **新增引用…**

FirstApp

在引用管理器對話方塊中,選擇 UtilityLibrary(我們的類庫專案),然後單擊 **確定**。

現在讓我們開啟控制檯專案的 Program.cs 檔案,並將所有程式碼替換為以下程式碼。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using UtilityLibrary; 

namespace FirstApp { 
   public class Program { 
      public static void Main(string[] args) { 
         int rows = Console.WindowHeight; 
         Console.Clear(); 
         do { 
            if (Console.CursorTop >= rows || Console.CursorTop == 0) { 
               Console.Clear(); 
               Console.WriteLine("\nPress <Enter> only to exit; otherwise, enter a string and press <Enter>:\n"); 
            } 
            string input = Console.ReadLine(); 
            
            if (String.IsNullOrEmpty(input)) break; 
            Console.WriteLine("Input: {0} {1,30}: {2}\n", input, "Begins with uppercase? ", 
            input.StartsWithUpper() ? "Yes" : "No"); 
         } while (true); 
      } 
   } 
} 

現在讓我們執行您的應用程式,您將看到以下輸出。

Application

為了更好地理解,讓我們在專案中使用類庫的其他擴充套件方法。

廣告

© . All rights reserved.