DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Property GridにPublic Fieldを表示する。

環境/言語:[C# 4.0]
分類:[.NET]

アヒル

Property GridにPublic Fieldを表示する。

いつも勉強させてもらっています。

PropertyGridに、Public Fieldメンバを表示させたいのですが、
そのようなことは可能なのでしょうか?

PropertyGridの機能としては、無さそうな気がしています。

考えたアイディアとして、
「表示したいインスタンスをReflectionで動的にPublic Fieldを
取得して、動的にそのPublic Filedをプロパティとして持つクラス
を生成する。」
です。

ただ、技術的なハードルが高くて、挫折しました。

ほかに良いアイディアを思いつく方いませんでしょうか?

何かもっと簡単に出来るアイディアがあるような気がして・・・

いかがでしょうか?
Public Field って何を指し示しているんですか?

値を保持するクラスを作って、
http://dobon.net/vb/dotnet/control/propertygrid.html

※ 何が問題かよくわからない・・・

以上。
■No30114に返信(あひるさんの記事)

> ほかに良いアイディアを思いつく方いませんでしょうか?
>

Public Fieldメンバを表示して何がしたいのか分からないので
代替案は出ないです。

とりあえず型情報を取得したいだけならインスタンス化する必要は
ないです。
■No30114に返信(あひるさんの記事)
> Property GridにPublic Fieldを表示する。
表示対象は自作のクラスですか? それとも任意のクラスですか?
Field の表示は実行時に行うのでしょうか? それともデザイン時でしょうか?


> PropertyGridに、Public Fieldメンバを表示させたいのですが、
> そのようなことは可能なのでしょうか?
ICustomTypeDescriptor インターフェイスを通じてPropertyDescriptor を
返させることで、任意の項目を PropertyGrid 上に動的に増減させることは
一応できますが、そもそもなぜ、Public Field を表示させる機能が
必要になっているのでしょうか?


> 何かもっと簡単に出来るアイディアがあるような気がして・・・
メンバー列挙のリフレクションや型情報の動的作成など、
個々の処理それぞれの手順的はさほど難しく無いとはいえ、
全体としてみてみれば、ある程度のコード量にはなってしまうかと。

DOBON.NET | プログラミング道 | プログラミング掲示板