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);<br> 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()); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端