- - PR -
アクセッサのsetにつきまして。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-04-27 20:34
いつも拝見させていただき、勉強させていただいております。
アクセッサについてお教え願いたいのですが。 今、TextBoxを継承し、独自のプロパティ(Para)を追加 "testです!!"という文字を初期値として設定しております。 このコントロールをForm上に配置。 "testです!!"という初期値を他の文字に変更し、実行を行なうと setが起動し_Paraの値が変更した文字として受け取れるのですが、 この初期値をnull(消してしまう)とsetが起動せず、 _Paraの値が、初期値の"testです!!"となってしまいます。 初期値をnullに変更しても setが起動してくれ、valueの値がnullであると認識させたいのですが、 解決方法をご存知の方がいましたらお教え下さい。宜しくお願い致します。 具体的にはこのようなコーディングにしているのですが。 public class Test : System.Web.UI.WebControls.TextBox { private string _Para= "testです!!"; public String Para { get { return _Para; } set { _Para = value; } } protected override void AddAttributesToRender (System.Web.UI.HtmlTextWriter writer) { // 省略 } } |
|
投稿日時: 2003-04-30 11:15
DefaultValueAttribute を使って初期値がnullでないと教えてあげれば解決すると思います。
|
|
投稿日時: 2003-04-30 17:30
ふうすけさん、ありがとうございます。
[DefaultValue("testです!!")]でsetが起動するようになりました。 ただnullを入れた場合、 valueの値は " " <=空白1バイトとなってしまいました。 とりあえずsetの中で判断し_Paraにはnullを戻すようにしましたが、 何かおかしいのでしょうか? |
1