zoukankan      html  css  js  c++  java
  • silveright使用配置文件转

      首先,在工程中创建一个XML文件,可以取名为app.config。
     
      记得放在工程的根目录,方便后面设置路径。把Build Action设成Resource,关于Build Action的说明可以在这里找到。
     
      随便在app.config中写点东西
     
    <?xml version="1.0" encoding="utf-8" ?>
     
    <configuration>
     
      <appSettings>
     
        <add key="name" value="srzhz"/>
     
        <add key="university" value="Tsinghua University"/>
     
      </appSettings>
     
    </configuration>
     
      然后要开始创建这个ConfigurationManager类了。
     
      首先在工程上按右键点击Add Reference,之后选择System.Xml.Linq。(如果没加的话无法引入命名空间System.Xml.Linq)
     
      然后在ConfigurationManager类中写入如下代码
     
    using System;
     using System.Windows;
     using System.Collections.Generic;
     using System.Windows.Resources;
     using System.IO;
     using System.Xml.Linq;
     using System.Reflection;
     
    namespace Model
     {
         /// <summary>
     
        /// Access appSettings from a configuration file
     
        /// </summary>
     
        /// <remarks>Your appConfig file must be in the root of your applcation</remarks>
     
        public static class ConfigurationManager
         {
             static ConfigurationManager()
             {
                 AppSettings = new Dictionary<string, string>();
                 ReadSettings();
             }
     
            public static Dictionary<string, string> AppSettings { get; set; }
             private static void ReadSettings()
             {
                 // Get the name of the executing assemby - we are going to be looking in the root folder for
                 // a file called app.config
                 string assemblyName = Assembly.GetExecutingAssembly().FullName;
                 assemblyName = assemblyName.Substring(0, assemblyName.IndexOf(','));
                 string url = String.Format("{0};component/app.config", assemblyName);
                 StreamResourceInfo configFile = Application.GetResourceStream(new Uri(url, UriKind.Relative));
                 if (configFile != null && configFile.Stream != null)
                 {
                     Stream stream = configFile.Stream;
                     XDocument document = XDocument.Load(stream);
                     foreach (XElement element in document.Descendants("appSettings").DescendantNodes())
                     {
                         AppSettings.Add(element.Attribute("key").Value, element.Attribute("value").Value);
                     }
                 }
             }
         }
     }
     
      之后你就可以通过调用这个类来获得配置信息了。例如:
     
    String name = ConfigurationManager.AppSettings["name"];
    

      

    Build Action为Content的文件读取方式为:

            //Uri uri = new Uri("/SilverlightApplication7;component/remark.txt", UriKind.Relative);
    Uri uri = new Uri("app.config", UriKind.Relative); StreamResourceInfo sri = Application.GetResourceStream(uri); System.IO.StreamReader reader = new System.IO.StreamReader(sri.Stream); MessageBox.Show(reader.ReadToEnd());

      

  • 相关阅读:
    二进制状态压缩对应 bool 数组中的常用操作
    [Acwing 327] 玉米田 题解
    [CF Contest] Web of Lies 题解
    ArchLinux安装vscode
    ArchLinux安装并且配置fcitx5
    【日常训练】取数问题
    Oracle sql 转 Hive sql一些语法问题
    Oracle中的connect by 转成hive的 lateral view explode
    Hive之分析函数
    数据仓库之拉链表设计
  • 原文地址:https://www.cnblogs.com/chuncn/p/2272063.html
Copyright © 2011-2022 走看看