7

を使用して .config ファイル内のセクションのリストを取得しようとすると、

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

config.Sections コレクションには多数のシステム セクションが含まれていますが、configSections タグでファイルを定義したセクションはありません。

4

1 に答える 1

2

これは、あなたが望むものを手に入れるはずのブログ記事です。しかし、答えが利用可能であることを確認するために、ここにもコードをドロップします。System.Configurationつまり、アセンブリを参照していることを確認してから、ConfigurationManagerクラスを活用して、必要な特定のセクションを取得します。

using System;
using System.Configuration;

public class BlogSettings : ConfigurationSection
{
  private static BlogSettings settings 
    = ConfigurationManager.GetSection("BlogSettings") as BlogSettings;

  public static BlogSettings Settings
  {
    get
    {
      return settings;
    }
  }

  [ConfigurationProperty("frontPagePostCount"
    , DefaultValue = 20
    , IsRequired = false)]
  [IntegerValidator(MinValue = 1
    , MaxValue = 100)]
  public int FrontPagePostCount
  {
      get { return (int)this["frontPagePostCount"]; }
        set { this["frontPagePostCount"] = value; }
  }


  [ConfigurationProperty("title"
    , IsRequired=true)]
  [StringValidator(InvalidCharacters = "  ~!@#$%^&*()[]{}/;’\"|\\"
    , MinLength=1
    , MaxLength=256)]
  public string Title
  {
    get { return (string)this["title"]; }
    set { this["title"] = value; }
  }
}

ブログの記事を必ず読んでください。背景が説明されているので、ソリューションに組み込むことができます。

于 2013-03-06T18:09:11.350 に答える