操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    本文將詳細介紹如何在.NET桌面程序中使用自定義的XML配置文件來保存和讀取設置。除了XML之外,我們還將探討其他常見的配置文件格式,如JSON、INI和YAML,以及它們的優缺點和相關的NuGet類庫。最后,我們將重點介紹我們為何選擇XML作為配置文件格式,并展示一個實用的示例。

    1. 背景

    在.NET桌面程序中,通常使用setting文件來保存程序的配置信息。使用setting文件的方法很簡單,只需在項目中添加一個setting文件,然后通過Properties.Settings.Default來獲取和保存設置即可。

    我的開源項目 HackerScreenSaver[1] 之前就是使用這種方式,但是當我在升級 Windows11 的內核版本后,發現當程序在被系統以屏保程序啟動后,無法加載配置了。

    如此這般就需要使用其他方式來存儲配置文件了。畢竟,setting文件并非唯一可用于保存設置的方式。我們可以選擇存儲到注冊表,或者自己寫配置文件并保存。

    2. 常見的配置文件格式

    對于一些簡單的配置我們甚至可以直接寫一個二進制文件,當然一般情況下我們還是選擇常見格式的配置文件,比如:JSON、INI 和 YAML。

    1.JSON(JavaScript Object Notation) 格式?優點:易于閱讀和編寫,支持復雜的數據結構,廣泛應用于Web API和前端開發。?缺點:根據 JSON 規范,其是不支持注釋的(單獨 Json 文件在某些編輯器可以正確解析注釋,在 .NET Core 中通過 JSON 配置提供程序讀取配置時,也可以在配置文件中添加注釋)。?相關類庫:Newtonsoft.Json(建議使用自帶的 System.Text.Json),可參考相關遷移教程[2]2.INI(Initialization File)?優點:簡潔,易于閱讀和編輯,適用于存儲簡單的鍵值對。?缺點:不支持復雜的數據結構和類型。?相關類庫:ini-parser3.YAML(Yet Another Markup Language)?優點:簡潔,易于閱讀和編輯,支持復雜的數據結構,支持注釋。?缺點:縮進敏感,可能導致錯誤。?相關類庫:YamlDotNet

    3. HackerScreenSaver 的配置選擇

    HackerScreenSaver 為了設計的小巧,根據合適原則和簡單原則,我最終選擇了不需要引入其他第三方的 XML 格式配置文件。

    XML(eXtensible Markup Language)具有以下優點:

    ?可擴展性強,支持復雜的數據結構。?支持注釋,便于理解和維護。?作為標準的數據交換格式,易于與其他系統集成。

    以下是我們設計的一個簡單的配置類 SimpleSetting,用于保存設置:

    • public class SimpleSetting{ // 類的屬性和構造函數省略...
      /// <summary> /// 從文件中讀取設置 /// </summary> /// <param name="path">配置文件路徑</param> public SimpleSetting(string path) { System.Xml.Serialization.XmlSerializer xs=new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting)); using (System.IO.FileStream fs=new System.IO.FileStream(path, System.IO.FileMode.Open)) { SimpleSetting ss=(SimpleSetting)xs.Deserialize(fs); isLocal=ss.isLocal; uInfo=ss.uInfo; Opacity=ss.Opacity; autoExit=ss.autoExit; } }
      /// <summary> /// 保存設置到文件 /// </summary> /// <param name="path">配置文件路徑</param> public void Save(string path) { System.Xml.Serialization.XmlSerializer xs=new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting)); using (System.IO.FileStream fs=new System.IO.FileStream(path, System.IO.FileMode.Create)) { xs.Serialize(fs, this); } }}

      SimpleSetting 類中包含了從XML文件中讀取設置和將設置保存到XML文件的方法。為了使用該類,我們只需要在程序中創建一個 SimpleSetting 對象,然后調用其 SaveLoad 方法即可。這樣,我們就可以在.NET桌面程序中使用自定義的XML配置文件來保存設置了。

      4. 最后

      本文詳細介紹了如何在.NET桌面程序中使用自定義的 XML 配置文件以及為何選擇 XML 作為配置文件格式。同時,我們還探討了其他常見的配置文件格式,如 JSON、INI 和 YAML,以及它們的優缺點和相關的 NuGet 類庫。希望這篇文章能幫助你找到適合你項目需求的配置文件解決方案!

      References

      [1] HackerScreenSaver: https://github.com/sangyuxiaowu/HackerScreenSaver?wt.mc_id=DT-MVP-5005195
      [2] 相關遷移教程: https://learn.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?wt.mc_id=DT-MVP-5005195

    本文將詳細介紹如何在.NET桌面程序中使用自定義的XML配置文件來保存和讀取設置。除了XML之外,我們還將探討其他常見的配置文件格式,如JSON、INI和YAML,以及它們的優缺點和相關的NuGet類庫。最后,我們將重點介紹我們為何選擇XML作為配置文件格式,并展示一個實用的示例。

    1. 背景

    在.NET桌面程序中,通常使用setting文件來保存程序的配置信息。使用setting文件的方法很簡單,只需在項目中添加一個setting文件,然后通過Properties.Settings.Default來獲取和保存設置即可。

    我的開源項目 HackerScreenSaver[1] 之前就是使用這種方式,但是當我在升級 Windows11 的內核版本后,發現當程序在被系統以屏保程序啟動后,無法加載配置了。

    如此這般就需要使用其他方式來存儲配置文件了。畢竟,setting文件并非唯一可用于保存設置的方式。我們可以選擇存儲到注冊表,或者自己寫配置文件并保存。

    2. 常見的配置文件格式

    對于一些簡單的配置我們甚至可以直接寫一個二進制文件,當然一般情況下我們還是選擇常見格式的配置文件,比如:JSON、INI 和 YAML。

    1.JSON(JavaScript Object Notation) 格式?優點:易于閱讀和編寫,支持復雜的數據結構,廣泛應用于Web API和前端開發。?缺點:根據 JSON 規范,其是不支持注釋的(單獨 Json 文件在某些編輯器可以正確解析注釋,在 .NET Core 中通過 JSON 配置提供程序讀取配置時,也可以在配置文件中添加注釋)。?相關類庫:Newtonsoft.Json(建議使用自帶的 System.Text.Json),可參考相關遷移教程[2]2.INI(Initialization File)?優點:簡潔,易于閱讀和編輯,適用于存儲簡單的鍵值對。?缺點:不支持復雜的數據結構和類型。?相關類庫:ini-parser3.YAML(Yet Another Markup Language)?優點:簡潔,易于閱讀和編輯,支持復雜的數據結構,支持注釋。?缺點:縮進敏感,可能導致錯誤。?相關類庫:YamlDotNet

    3. HackerScreenSaver 的配置選擇

    HackerScreenSaver 為了設計的小巧,根據合適原則和簡單原則,我最終選擇了不需要引入其他第三方的 XML 格式配置文件。

    XML(eXtensible Markup Language)具有以下優點:

    ?可擴展性強,支持復雜的數據結構。?支持注釋,便于理解和維護。?作為標準的數據交換格式,易于與其他系統集成。

    以下是我們設計的一個簡單的配置類 SimpleSetting,用于保存設置:

    • public class SimpleSetting{ // 類的屬性和構造函數省略...
      /// <summary> /// 從文件中讀取設置 /// </summary> /// <param name="path">配置文件路徑</param> public SimpleSetting(string path) { System.Xml.Serialization.XmlSerializer xs=new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting)); using (System.IO.FileStream fs=new System.IO.FileStream(path, System.IO.FileMode.Open)) { SimpleSetting ss=(SimpleSetting)xs.Deserialize(fs); isLocal=ss.isLocal; uInfo=ss.uInfo; Opacity=ss.Opacity; autoExit=ss.autoExit; } }
      /// <summary> /// 保存設置到文件 /// </summary> /// <param name="path">配置文件路徑</param> public void Save(string path) { System.Xml.Serialization.XmlSerializer xs=new System.Xml.Serialization.XmlSerializer(typeof(SimpleSetting)); using (System.IO.FileStream fs=new System.IO.FileStream(path, System.IO.FileMode.Create)) { xs.Serialize(fs, this); } }}

      SimpleSetting 類中包含了從XML文件中讀取設置和將設置保存到XML文件的方法。為了使用該類,我們只需要在程序中創建一個 SimpleSetting 對象,然后調用其 SaveLoad 方法即可。這樣,我們就可以在.NET桌面程序中使用自定義的XML配置文件來保存設置了。

      4. 最后

      本文詳細介紹了如何在.NET桌面程序中使用自定義的 XML 配置文件以及為何選擇 XML 作為配置文件格式。同時,我們還探討了其他常見的配置文件格式,如 JSON、INI 和 YAML,以及它們的優缺點和相關的 NuGet 類庫。希望這篇文章能幫助你找到適合你項目需求的配置文件解決方案!

      References

      [1] HackerScreenSaver: https://github.com/sangyuxiaowu/HackerScreenSaver?wt.mc_id=DT-MVP-5005195
      [2] 相關遷移教程: https://learn.microsoft.com/zh-cn/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?wt.mc_id=DT-MVP-5005195

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有