プロジェクトでカスタム構成セクションを作成中に問題が発生しました。質問を分析して、包括的な解決策を提供しましょう。
App.config ファイルは適切に構成されているようです。 「ServicesSection」という名前のカスタム セクションとその型ハンドラーを定義します。
ServiceConfig クラスと ServiceCollection クラスは正しく定義されており、予想される構成セクション構造と一致しています。
非推奨のハンドラーの使用から正しく移行しました。 IConfigurationSectionHandler インターフェイス。代わりに、ConfigurationSection から派生する新しいクラスを作成する必要があります:
public class ServiceConfigurationSection : ConfigurationSection { [ConfigurationProperty("Services", IsDefaultCollection = false)] [ConfigurationCollection(typeof(ServiceCollection), AddItemName = "add", ClearItemsName = "clear", RemoveItemName = "remove")] public ServiceCollection Services { get { return (ServiceCollection)base["Services"]; } } }
このクラスでは、「Services」プロパティは ServiceCollection 型の ConfigurationCollection として定義されます。これにより、階層構成構造の基礎が設定されます。
ConfigurationSection を定義したら、次のようにそのデータにアクセスできます。
ServiceConfigurationSection serviceConfigSection = ConfigurationManager.GetSection("ServicesSection") as ServiceConfigurationSection; ServiceConfig serviceConfig = serviceConfigSection.Services[0];
次のようにします。これらの手順を実行すると、ConfigurationElementCollection を使用してカスタム構成セクションを正常に実装できるはずです。
以上が.NET で ConfigurationElementCollection を使用してカスタム構成セクションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。