構建C#類庫專案 — 從Tim Corey的課程中獲得見解
[[academy-video-youtube({"vid": "GPlgjb6AXDw", "start_time": "0", "title": "C# App Start To Finish Lesson 06 - Class Library Creation", "creator": "Tim Corey", "length": "19m 06s"})]]
在這一課中,Tim Corey 指導我們完成建立C# 類別庫的實作過程,從規劃到實際撰寫程式碼。 Tim 強調規劃是必要的,但一旦規劃完成,就該開始建構。
在這篇文章中,我們將逐步按照 Tim 的方法和理由,了解如何在 Visual Studio 中建立、組織和記錄類別庫。
在 Visual Studio 中開始建立類別庫
Tim 說他們已經花了一段時間在規劃模式中,但現在他們終於準備好撰寫程式碼了。 他開啟 Visual Studio,選擇"建立新專案",然後選"類別庫"。 Tim 將其命名為 TrackerLibrary,並將方案名稱設為 TournamentTracker。
Tim 在新程式庫中的第一個動作是刪除預設的 Class1.cs,解釋說他不想要任何預設或命名不佳的文件出現在他的專案中。 他說,重命名可能會引發問題,所以他完全移除它以避免以後發生問題。
將規劃轉化為程式碼 — 新增類別
Tim 解釋說,規劃的真正好處是,一旦您準備好撰寫程式碼,您不需要猜測需要什麼資料。 相反的,您只是把已規劃好的設計轉化成實際的程式碼。
他提到此時,您不是在考慮所需的資料,而是確認名稱、結構,是否有缺漏。 Tim 表示,這就是規劃顯著加速程式碼撰寫過程的原因。
建立團隊模型
Tim 新增了第一個類別:TeamModel。 他解釋說,他可以只命名為 Team,但他更喜歡在結尾新增 Model,以明確標示它作為資料模型。
他使用了 Visual Studio 的 prop snippet 快速生成屬性。 Tim 建立了以下屬性:
List<PersonModel>TeamMembers- string TeamName
Tim 也解釋了一個關鍵點:他希望 TeamMembers 能夠自動初始化,以便表達永不為 null。 他展示了兩種方法:
在 C# 6.0 之前: 使用構造函式來初始化列表。
自 C# 6.0 開始: 直接在屬性中初始化,使用:
public List<PersonModel> TeamMembers { get; set; } = new List<PersonModel>();
Tim 較喜歡現代的方式,因為它簡化程式碼。
建立人員模型
接下來,Tim 建立了 PersonModel。 利用 prop snippet,他快速增加了屬性:
string FirstName
string LastName
string EmailAddress
- string CellPhoneNumber
Tim 指出規劃完成後,構建模型的速度有多快。 他還提醒我們,現在的程式碼完全基於規劃文件。
建立比賽模型
Tim 新增了 TournamentModel,其中包括:
string TournamentName
decimal EntryFee
List<TeamModel>EnteredTeamsList<PrizeModel>PrizesList<List<MatchupModel>>Rounds
他強調 C# 能夠理解像 List<List<MatchupModel>> 這樣的複雜列表結構,甚至在使用 new 時自動填充型別。
新增獎勵模型
Tim 新增了 PrizeModel,具有以下屬性:
int PlaceNumber
string PlaceName
decimal PrizeAmount
- double PrizePercentage
他指出這些值目前保留為預設值,未來需要時可以更改。
建立比賽匹配模型
Tim 新增了 MatchupModel,包括:
List<MatchupEntryModel>EntriesTeamModel Winner
- int MatchupRound
他還確保像先前一樣自動初始化 Entries 列表。
然後 Tim 新增了 MatchupEntryModel,包括:
TeamModel TeamCompeting
double Score
- MatchupModel ParentMatchup
Tim 強調這些模型完成了類別庫的基礎。
計劃完成後,類別庫變得簡單
Tim 說一旦計劃完成,建立類別庫變得非常簡單。 他強調,因為所有設計工作都已經完成,程式庫的結構變得很簡單。
他提醒我們,規劃的主要好處是,編程會快且乾淨。
新增 XML 註解 — 為何重要
Tim 指出最終步驟應該是註釋程式碼,尤其是使用 XML 註解。 他承認註釋很繁瑣,但警告如果您現在不做,以後可能就不會做了。
他顯示如何通過在屬性上方輸入三條斜線(///)建立 XML 註解。 Tim 示範撰寫描述,如:
"代表比賽中的一個團隊"
"代表此特定團隊的得分"
- "代表該團隊作為獲勝者來自的匹配"
Tim 解釋 XML 註解不只是格式化的註解 — 它們成為程式碼文件的一部分,幫助其他開發人員了解您的類別。
XML 註解提高程式碼的可用性
Tim 示範了 XML 註解如何與 IntelliSense 一起工作。 他建立一個構造函式並為參數新增 XML 註解,顯示這些註解會在 IntelliSense 中自動出現。
他將此與 Visual Studio 內建的 Console.WriteLine() 描述相比較,這來自於微軟自己的 XML 文件。 Tim 解釋說,使用 XML 註解可以在您自己的類別庫中提供相同的清晰度和可用性。
最終激勵
Tim 鼓勵觀眾為其餘模型新增 XML 註解,儘管他未展示完整過程,因為它具有重複性。
他以預習下一節課作結尾:構建表單。 Tim 指出,計劃期間設計的表單是簡單的草圖,現在是時候讓它們看起來更現代且具功能性。
結論 — Tim 的課程總結
Tim Corey 的課程顯示,建立 C# 類別庫是將規劃轉換為程式碼的過程。 步驟如下:
建立類別庫專案
根據規劃新增模型
初始化列表以避免 null
使用 XML 註解記錄程式碼
- 接著準備構建表單
透過遵循 Tim 的方法,您能有效率且專業地構建出一個乾淨且結構良好的類別庫,準備支援您的應用程式其他部分。

