私はapp/web.configにカスタム設定セクションを登録しました。それをMySection
としましょう。私はElementCollection
要素をMyElements
というセクションの中に持っています。要素コレクションの中で、私は異なるクラスによって表される要素を持っていたいと思っています。これらのクラスは、いくつかの共通のプロパティとインスタンス固有のクラスです。ここで.NETカスタム設定 - 非同種要素の要素コレクションを持つことはできますか?
は、いくつかのxml構成例である:私の簡単な例では
<MySection>
<MyElements>
<Element1 name="someProp1" value="someValue" />
<Element2 name="someProp2" format="{0}{1}" />
</MyElements>
</MySection>
、すべての要素は「名前」プロパティを持っている必要があり、いくつかはまた、「の値」プロパティ、および他の「フォーマット」を持っていますプロパティ。 ここでは、Element1
とElement2
を、「名前」プロパティを定義する共通基本クラスを持つ2つの異なるクラスによって.NETランタイムで表現したいと考えています。
私が.NETの設定を掘り下げている限り、私は要素コレクション(ここでは 'MyElements'など)に同種の要素(1つのタイプのみ)が含まれている必要があるという印象を受けました。それで、私が望むものを達成することは可能でしょうか。それは、それが異なるクラスの要素を含むようにします。この考え方は、異なる要素タイプに対して複数の要素コレクションを持つことと、すべてのカスタムのConfigurationElement
実装のすべての繰り返しプロパティを記述しないことの両方を避けることです。
は、あなたの答えをいただき、ありがとうございます。実際、共通の祖先は、とにかく私が使用することを意味しています。少なくとも、私は同様の要素の共通のプロパティを再利用しようとしているので、共通の祖先はそれらを格納し、具体的な要素のコードも減らすことができます:) –