2013-09-23 20 views
8

でカスタムタイプを追加し、私はこの構造体を保存するために、構成ファイル.settingsを使用したい:設定デザイナでがsettings.settings

struct sR22Protocole 
{ 
    Int32 inputkey; 
    Int32 outputkey; 
    Int32 voltage; 
    Int32 Ohm; 
    Int32 Correction; 
}; 

を、私は別のタイプを追加することができますが、それはの私の構造体を示していませんブラウズセクション。デザイナーが自分の構造体にアクセスできる方法はありますか?そうでない場合は、それをプログラム的に追加する方法はありますか?

答えて

4

ちょうどブラウズセクションに移動して、あなたのタイプの名前空間を接頭語として使用しながら、あなたの構造体、クラス、または列挙型の名前を入力します。私は、アプリケーションのデフォルトオブジェクトのためにこれをしたとき、私は、このブログの記事に続きます。その後、次回の使用のためにドロップダウンに追加されます。あなたの例では

: YourTypeNamespace.sR22Protocole

+0

もう少し説明できますか? –

+0

使用しているVisual Studioのバージョンは何ですか?私はVS2013 Expressで列挙型でこれを試してみましたが、うまくいきませんでした。 ( "Type 'X'が定義されていません。"というエラーが出ます。) – jmbpiano

+0

VS 2010 Expressとカスタム列挙型で動作しました。 – Pollitzer

4

はあなたのタイプはSettingsSerializeAs()属性を持っている必要があります。タイプSettingsSerializeAsの列挙型パラメータが値をシリアル化する方法を指定し、可能な値は以下のとおりです。

  • 文字列
  • のXml
  • バイナリ
  • ProviderSpecific

この属性は唯一することができますのでクラス型に適用される場合、自分の型はクラスでなければなりません。

第2に、型にはパラメータのないコンストラクタが必要です。これは、App.configファイルの設定に値が指定されていない場合、設定の種類の既定値が設定に割り当てられるためです。

クラスを宣言したばかりの場合、ソリューションを構築していない限り、デザイナーはその型を受け入れません。

関連する問題