C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: キーを元にクラスを呼び出す


(過去ログ 74 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■43391 / inTopicNo.1)  キーを元にクラスを呼び出す
  
□投稿者/ もんた (17回)-(2009/11/09(Mon) 19:29:32)

分類:[.NET 全般] 

Dictionaryについての質問です。
Dictionaryはキーと値を設定すれば、キーを元に値を取得できます。
この値の代わりにクラス名などを入れて、その中の値を取得する方法はないでしょうか?

最終的には、キーを使ってクラス内で定義した変数の値を表示したいと思っています。
引用返信 編集キー/
■43392 / inTopicNo.2)  Re[1]: キーを元にクラスを呼び出す
□投稿者/ επιστημη (2258回)-(2009/11/09(Mon) 19:33:14)
επιστημη さんの Web サイト
> Dictionaryはキーと値を設定すれば、キーを元に値を取得できます。
> この値の代わりにクラス名などを入れて、その中の値を取得する方法はないでしょうか?
> 最終的には、キーを使ってクラス内で定義した変数の値を表示したいと思っています。

たとえば Button が5つあったとき、Disctionaryに"Button"を食わすとどれが出るんですか?
クラス名では特定できんのじゃないですか?


引用返信 編集キー/
■43419 / inTopicNo.3)  Re[2]: キーを元にクラスを呼び出す
□投稿者/ かずき (53回)-(2009/11/10(Tue) 12:41:02)
かずき さんの Web サイト
Dictionary<string, Func<object, object>> hoge = new Dictionary<string, Func<object>>();
hoge["AクラスのBプロパティ"] = (obj) => ((Aクラス)obj).B;
hoge["AクラスのCプロパティ"] = (obj) => ((Aクラス)obj).C;
hoge["FooクラスのHogeプロパティ"] = (obj) => ((Fooクラス)obj).Hoge;

みたいにして・・・
Aクラス a = new Aクラス();
a.B = "aaa";

string value = (string) hoge["AクラスのBプロパティ"](a);
のようにとることは出来るけど、実用的かといわれるとそうでもないかな〜。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -