プロパティの初期化を停止する方法
- 題名: プロパティの初期化を停止する方法
- 著者: tsuyoshicall
- 日時: 2008/07/07 20:55:52
- ID: 22398
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: プロパティの初期化を停止する方法
- 著者: Hongliang
- 日時: 2008/07/07 21:41:17
- ID: 22399
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: プロパティの初期化を停止する方法
- 著者: tsuyoshicall
- 日時: 2008/07/08 10:59:07
- ID: 22400
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
Visual .NET 2003 C#を使用して、
ComboBoxを継承した独自のコントロールを作成しました。
そのコントロールで
uint32型の読み書き可能なプロパティ(Uint32Value)を作成したところ、
それを使用したフォームの
InitializeComponent()に
以下のようなメッセージが挿入されるようになってしまいました。
// TODO: 例外 '無効な Primitive 型 System.UInt32 です。
CLS 準拠の primitive 型のみ使用できます。
CodeObjectCreateExpression を使ってください。' によって
'this.cmbXXX.Uint32Value' のコード生成が失敗しました。
uin32をint32に変えれば、
このようなメッセージは出なくなりそうですが、
扱っているデータがDLLの呼び出し時に使用するuint32値なので、
こんな理由でint32にはしたくありません。
プロパティウィンドウから
Uint32Valueを削除すればうまく行くと思い
[Browsable(false)]
を追加したのですが、
プロパティウィンドウから消えても、
上記のエラーメッセージは消えませんでした。
プロパティを動作時のみ有効なものとして、
デザイン時に無効に設定できればうまく行くと思ったのですが、
その逆しかできないようで。。。。
動作上問題ないのですが、
このメッセージを出なくする方法はないでしょうか?
よろしくお願いします。