91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#使用單例模式類獲取本地程序目錄下XML文件中的配置信息

發布時間:2020-06-22 07:41:09 來源:網絡 閱讀:593 作者:個vvjkhgg林 欄目:編程語言

單例模式是一種常用的軟件設計模式,在它的核心結構中只包含一個被稱為單例的特殊類。

通過單例模式可以保證系統中一個類只有一個實例,即一個類只有一個對象實例。

這一模式的目的是使得類的一個對象稱為系統中的唯一實例。

單例模式的要點有三個:一是該類只能有一個實例;二是該類必須自行創建這個實例;三是該類必須自行向整個系統提供這個實例。

從具體實現角度來說,就是以下三點:

  1. 單例模式的類只提供私有的構造函數;

  2. 類的定義中含有一個該類的靜態私有對象;

  3. 該類提供了一個靜態且公用的函數用于創建或者獲取它本身的靜態私有對象;

個人覺得對于初級程序而言,技能知識的學習要理論和代碼一起研究,才能夠做到心領神會,下面就奉上小編自己敲的代碼以供你參考,當然你也可以直接下載后在本地查看!

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Xml;


namespace WpfApp.Practices

{


    public class getXMLConfigInfo

    {

        #region 定義一個獲取本地XML配置信息的單例模式類 getXMLConfigInfo

        //定義一個靜態且私有的getXMLConfigInfo的類對象XMLConfigInstance并賦為空

        private static getXMLConfigInfo XMLConfigInstance = null;

        //定義一個靜態且公用的方法用于統一調用該類中的方法

        public static getXMLConfigInfo getXMLConfigInstance()

        {

            if(XMLConfigInstance == null)

            {

                XMLConfigInstance = new getXMLConfigInfo();

            }

            return XMLConfigInstance;

        }

        //自定義一個私有的構造函數

        private getXMLConfigInfo()

        {

            //getXMLConfigRoot("SystemConfigs");

        }

        #endregion

        /// <summary>

        /// 加載本地SystemConfig.xml文件并查找根節點

        /// </summary>

        /// <param name="singleNode">傳入要查找的節點</param>

        /// <returns></returns>

        public XmlNode getXMLConfigRoot(string singleNode)

        {

            //創建一個XmlDocument對象

            XmlDocument xmlDoc = new XmlDocument();

            //定義并獲取程序運行時的本地路徑

            String xmlPath = System.Environment.CurrentDirectory;

            //判斷該路徑下是否存在SystemConfig.xml文件

            if(!File.Exists(xmlPath + "\\SystemConfig.xml"))

            {

                throw new Exception("This File isn't Exist!");

            }

            //加載SystemConfig.xml文件

            xmlDoc.Load(xmlPath + "\\SystemConfig.xml");

            //選中SystemConfig.xml文件中的根節點

            XmlNode root = xmlDoc.SelectSingleNode("SystemConfigs");

            //定義需要查找的節點

            XmlNode NeedRoot = null;

            //遍歷根節點下的所有子節點

            foreach(XmlNode childNode in root.ChildNodes)

            {

                //如果遍歷得到的子節點與所需要查找的節點相同,則返回該節點

                if(childNode.Name.Equals(singleNode))

                {

                    NeedRoot = root.SelectSingleNode(singleNode);

                }

            }

            return NeedRoot;

        }


        /// <summary>

        /// 獲取SystemConfig.xml文件中的預留電話/手機號碼

        /// </summary>

        /// <param name="type">傳入要獲取的節點的屬性名稱</param>

        /// <returns></returns>

        public string getPersonalContactInfo(string type)

        {

            //得到所需的節點屬性的父節點

            XmlNode NeededRoot = getXMLConfigRoot("SelfPrePhone");

            //定義變量用于暫時保存獲取出來的節點屬性的值

            string NeedValue = "";

            //如果所需杰節點屬性的父節點不存在,則拋出錯誤信息

            if (NeededRoot == null)

            {

                throw new Exception("讀取配置節點SelfPrePhone文件錯誤");

            }

            //遍歷所需節點的所有屬性,并返回所查找的屬性的值

            foreach (XmlNode NeedTypeChildNode in NeededRoot.ChildNodes)

            {

                NeedValue = NeedTypeChildNode.Attributes[type].Value;

            }

            return NeedValue;

        }

    }

}

以上的代碼便是單例模式寫的獲取本地XML文件中的配置信息的類


<SystemConfigs>


  <AutoCloseSystemSet>

    <CloseSystemTimeSet  CloseTime="14:30:00"/>

  </AutoCloseSystemSet>


  <SelfPrePhone>

    <PrePhone    tel="0571-81234567"   Phone="18765432173"></PrePhone>

  </SelfPrePhone>


</SystemConfigs>

這段XML便是本地SystemConfig.xml文件中的內容信息


  string test1 = getXMLConfigInfo.getXMLConfigInstance().getPersonalContactInfo("Phone");

  string test3 = getXMLConfigInfo .getXMLConfigInstance().getPersonalContactInfo("tel");

以上兩個語句便是通過單例模式類getXMLConfigInfo來獲取在SystemConfig.xml中配置的預留手機號和預留電話號碼的前端寫法。

                                                                                                                        感謝你耐心閱讀完本文,祝你學習愉快昂,哈哈。。。。。。

附件:http://down.51cto.com/data/2367042
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南和县| 绩溪县| 兴海县| 博爱县| 庆阳市| 中卫市| 福贡县| 临洮县| 普兰县| 乐山市| 临朐县| 襄汾县| 色达县| 休宁县| 新乐市| 嘉祥县| 军事| 监利县| 淮南市| 腾冲县| 大冶市| 湖州市| 三亚市| 阿尔山市| 盐山县| 梁平县| 金昌市| 岳西县| 平阴县| 云梦县| 达孜县| 岐山县| 广南县| 五华县| 廉江市| 阳西县| 望城县| 淮北市| 南和县| 资讯| 健康|