1

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」の型初期化子が例外をスローしました。

私が何をしているのか教えてください。

4

2 に答える 2

3

CodeProject の .NET 2.0 構成に関する Jon Rista の 3 回シリーズをチェックしてください。

強くお勧めし、よく書かれており、非常に役に立ちます!これにより、.NET 構成システムを完全に理解できます。

Phil Haack も素晴らしいブログ投稿をしています。カスタム構成セクションへの 3 つの簡単なステップで、独自のカスタム構成セクションの構築をすばやく開始できます。

独自のカスタム セクションを設計するために、構成セクション デザイナーと呼ばれる便利なツール (Visual Studio アドイン) もあります。これを使用すると、独自のカスタム セクションを非常に簡単かつ簡単に作成し、そのカスタムを処理するために必要なすべてのコードを構築できます。セクション。

于 2012-11-05T06:09:57.010 に答える
0

これを構成セクションの外に移動します

 <BlogSettings
    Price="10"
    title="BLACKswastik" />

新しい構成参照を作成したので、それを独自のノードにすることができます。

于 2012-11-05T06:02:52.153 に答える