共用方式為


教學課程:使用Visual StudioCode建立 .NET 類別庫

在本教學課程中,您會建立包含單一字串處理方法的簡單公用程序連結庫。

類別庫 定義應用程式所呼叫的類型和方法。 如果連結庫以 .NET Standard 2.0 為目標,則任何支援 .NET Standard 2.0 的 .NET 實作(包括 .NET Framework)都可以呼叫它。 如果連結庫以 .NET 9 為目標,則任何以 .NET 9 為目標的應用程式都可以呼叫它。 本教學課程示範如何以 .NET 9 為目標。

當您建立類別庫時,您可以將它散發為第三方元件,或發佈為包含一或多個應用程式的配套元件。

先決條件

  • Visual Studio Code 已安裝 C# 開發工具包擴充功能

    如需如何在 Visual Studio Code 上安裝延伸模組的詳細資訊,請參閱 VS Code Extension Marketplace

  • .NET 9 SDK

建立類別庫專案

首先,建立名為 「StringLibrary」 和相關聯解決方案的 .NET 類別庫專案。 解決方案可作為一或多個專案的容器。 您將將其他相關專案新增至相同的解決方案。

  1. 啟動 Visual Studio Code。

  2. 移至 [瀏覽器視圖],然後選取 [建立 .NET 專案]。 或者,您可以使用 Ctrl+Shift+P 來啟動命令選擇區(MacOS 上的 Command+Shift+P),然後輸入 “.NET”,然後尋找並選取 .NET:新增專案命令。

  3. 選取命令之後,您必須選擇項目範本。 選擇 [類別庫]。

  4. 然後選取您要建立新專案的位置。

  5. 然後選取您要建立新專案的位置:建立名為 ClassLibraryProjects 的資料夾,然後加以選取。

  6. 將專案命名 StringLibrary,選取 [顯示所有範本選項],選取 [.NET 9],然後選取 [建立專案]。

  7. 將專案命名 StringLibrary,然後選取 [建立專案]

  8. 在提示符下按 Enter,將在 <路徑中建立 Project>

  9. 請檢查以確定程式庫針對 .NET 9。 在 Explorer中,開啟 StringLibrary/StringLibrary.csproj

    TargetFramework 項目會顯示專案以 .NET 9.0 為目標。

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net9.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  10. 開啟 Class1.cs,並以以下代碼取代原有代碼。

    using System;
    
    namespace UtilityLibraries
    {
        public static class StringLibrary
        {
            public static bool StartsWithUpper(this string str)
            {
                if (string.IsNullOrWhiteSpace(str))
                    return false;
    
                char ch = str[0];
                return char.IsUpper(ch);
            }
        }
    }
    

    類別庫 UtilityLibraries.StringLibrary,包含名為 StartsWithUpper的方法。 這個方法會傳回 Boolean 值,指出目前的字串實例是否以大寫字元開頭。 Unicode 標準會區分大寫字元與小寫字元。 如果字元是大寫,Char.IsUpper(Char) 方法會傳回 true

    StartsWithUpper 會實作為 擴充方法,讓您可以呼叫它,就像是 String 類別的成員一樣。

  11. 儲存檔案。

  12. 檢視器視圖 的底部展開 Solution Explorer

  13. 以滑鼠右鍵單擊 [方案總管] 中的方案,然後選取 [建置],或開啟 [命令面板],然後選取 [.NET:建置],以建置方案,並確認專案編譯時沒有錯誤。

    終端機輸出看起來像下列範例:

    Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net9.0\StringLibrary.dll
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:00:02.78
    

將主控台應用程式新增至解決方案

新增使用類別庫的主控台應用程式。 應用程式會提示使用者輸入字串,並報告字串是否以大寫字元開頭。

  1. 在 [方案總管] 中以滑鼠右鍵按兩下方案,然後選取 [[新增專案],或在 [命令選擇區] 中選取 [.NET:新增專案]。

  2. 選取 [主控台應用程式]。

  3. 將其命名為 ShowCase,選擇預設位置,然後選擇 建立專案

  4. 開啟 ShowCase/Program.cs,用以下的程式碼取代所有現有的程式碼。

    using System;
    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " +
                                  $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}");
                row += 3;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    

    程式代碼會使用 row 變數來維護寫入主控台視窗之資料列數的計數。 每當它大於或等於 25 時,程式代碼就會清除主控台視窗,並向使用者顯示訊息。

    程式會提示使用者輸入字串。 指出字串是否以大寫字元開頭。 如果使用者按下 Enter 鍵而不輸入字串,應用程式就會結束,而控制台視窗會關閉。

  5. 儲存您的變更。

新增項目參考

一開始,新的控制台應用程式項目無法存取類別庫。 為了讓它能在類別庫中呼叫方法,請建立對類別庫專案的專案參考。

  1. 在 [方案總管] 以滑鼠右鍵按兩下 ShowCase 項目,然後選取 [[新增項目參考]。

  2. 選取 [StringLibrary]。

執行應用程式

  1. 選取 [執行>執行,但不進行偵錯]。

  2. 選取 C#

  3. 選取 ShowCase

    如果您收到錯誤,指出未載入 C# 程式,請關閉您已開啟的資料夾,然後開啟 ShowCase 資料夾。 然後再次嘗試執行應用程式。

  4. 輸入字串並按 Enter來試用程式,然後按 Enter 結束。

    終端機輸出看起來像下列範例:

    Press <Enter> only to exit; otherwise, enter a string and press <Enter>:
    
    A string that starts with an uppercase letter
    Input: A string that starts with an uppercase letter
    Begins with uppercase? : Yes
    
    a string that starts with a lowercase letter
    Input: a string that starts with a lowercase letter
    Begins with uppercase? : No
    

其他資源

後續步驟

在本教學課程中,您已建立連結庫專案,並新增了使用連結庫的控制台應用程式專案。 在下一個教學課程中,您會將單元測試專案新增至方案。

使用 Visual Studio Code 使用 .NET 測試 .NET 類別庫