• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【C#】Listを使った自作プロパティを作りたい)

【C#】Listを使った自作プロパティを作りたい

このQ&Aのポイント
  • コンポーネントにListを使った自作プロパティを作る方法について教えてください。
  • ビルド後にエラーが発生して動作しない問題についても解決策を教えてください。
  • エラーメッセージが出力されず、フォームデザイナー上でおかしなHTMLが出力される問題についても対処方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

デザイナーに対するシリアル/デシリアルの方法を指示すればいいみたいです ComponentクラスのTestプロパティの属性指定に DesignerSerializationVisibility(DesignerSerializationVisibility.Content) を追加してやればいいみたいですよ

naktak
質問者

お礼

できました!!!ありがとうございます。 ただ、調べてみても深い内容なようで、全く理解できないままですが・・・。 書籍類も、大体がアプリケーション作成がメインだったりして、 コンポーネント作成について深く突っ込んでくれてる書籍があると 大変嬉しいのですが、未だ出会っておらず、プロパティ制御には 毎度苦慮しております。 コードの意味及び記述すべきタイミングについては別途調べてみます。 今回は大変ありがとうございました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

TestDataクラスのシリアル化の実装が原因のようですよ 具体的な解決方法までは持ち合わせておりませんが … resxファイルに格納された コンポーネントのTestプロパティの項目を読み込む際にエラーになっているようです ためしに private string extensions = "*.*"; と private string displayText = "すべてのファイル"; を [NonSerialized]属性を与えてやると フォームで項目を追加した後でも エラーにならないようです

naktak
質問者

補足

うーん、ダメでした・・・。 フォームに追加した直後は問題ないのですが、リビルドを行うと 同じようにエラーになってしまいます。 パースにミスってるんだろうなというのは何となくわかったのですが、 じゃあどう対処すればいいのかというのが分からず困ってます・・・。 [Serializable] public class TestData {  [NonSerialized]  private string extensions = "*.*";  public string Extensions  {   get { return extensions; }   set { extensions = value; }  }  [NonSerialized]  private string displayText = "すべてのファイル";    public string DisplayText  {   get { return displayText; }   set { displayText = value; }  }  public override string ToString()  {   return DisplayText;  } }

関連するQ&A