0

カスタム構成セクションからのロードに問題があります。

問題のある部分は何ですか。choice要素内のXSDスキーマで定義した2つの要素(FirstとSecond)があります。ユーザーは、構成時に1つしか選択できません。このようなことを言ってみましょう:

<customSection>
  <First attribute ="test" />    
</customSection>

また

<customSection>
  <Second attribute ="test" attribute2 ="np" />  
</customSection>

その構成をロードすると、どちらの場合も構成要素のFirstとSecondがロードされ、nullにはなりません(オブジェクトは空になります)。最初のケースでは、2番目のオブジェクトがnullであることをどのように達成するのですか?

ありがとうございました

4

2 に答える 2

2

まず、マッピングのクラスを作成します

public class YourCustomConfig : ConfigurationSection 
{
 ....
}

完全なサンプルはこちら: http://nnish.com/2009/09/17/custom-configuration-section-in-c/

次に、データを取得します

YourCustomConfig section = ConfigurationManager.GetSection("customSection") as YourCustomConfig;
于 2013-03-25T13:55:52.333 に答える
0

私は必要なものを見つけました。各構成要素にはプロパティ ElementInformation ( http://msdn.microsoft.com/en-us/library/system.configuration.elementinformation.aspx ) があり、特定の構成要素が構成ファイルに存在することを示すプロパティIsPresentがさらに存在します。公式説明:

IsPresent : 関連する ConfigurationElement オブジェクトが構成ファイルにあるかどうかを示す値を取得します。

これにより、ロードされている要素とロードされていない要素を追跡できます。以前は、null と等しいかどうかを判断できませんでした。値があるかどうかに関係なく、null と等しくなることはありません。

于 2013-03-25T13:49:38.967 に答える