我正在尝试在app.config文件中创建自定义部分
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="BlogSettings" type="ConsoleApplication1.BlogSettings,
ConsoleApplication1" />
</configSections>
<BlogSettings
Price="10"
title="BLACKswastik" />
</configuration>
C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string title = BlogSettings.Settings.Title;
Console.WriteLine(title);
Console.ReadKey();
}
}
public class BlogSettings : ConfigurationSection
{
private static BlogSettings settings
= ConfigurationManager.GetSection("BlogSettings") as BlogSettings;
public static BlogSettings Settings
{
get
{
return settings;
}
}
[ConfigurationProperty("Price"
, DefaultValue = 20
, IsRequired = false)]
[IntegerValidator(MinValue = 1
, MaxValue = 100)]
public int Price
{
get { return (int)this["Price"]; }
set { this["Price"] = value; }
}
[ConfigurationProperty("title"
, IsRequired = true)]
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;’\"|\\"
, MinLength = 1
, MaxLength = 256)]
public string Title
{
get { return (string)this["title"]; }
set { this["title"] = value; }
}
}
}
但是当我运行此代码时,我收到此错误:
'ConsoleApplication1.BlogSettings'的类型初始化程序引发了一个 异常。
请告诉我,我做错了什么。
答案 0 :(得分:3)
你应该在CodeProject上查看Jon Rista关于.NET 2.0配置的三部分系列文章。
强烈推荐,写得很好,非常有帮助!这将使您全面了解.NET配置系统。
菲尔·哈克(Phil Haack)也有一篇很棒的博文Three easy steps to a custom configuration section,可以让你快速开始构建自己的自定义配置文件。
要设计自己的自定义部分,还有一个名为Configuration Section Designer的便捷工具(Visual Studio加载项),它可以让您轻松简单地创建自己的自定义部分,并使其构建所有必要的部分用于处理该自定义部分的代码。
答案 1 :(得分:0)
将其移出配置部分
<BlogSettings
Price="10"
title="BLACKswastik" />
您创建了一个新的配置引用,因此它现在可以成为自己的节点。