
同じ質問で昔以下の回答がありましたが、今はライブラリが進歩しているようなので、より新しい構文を使った書き方がありましたら、是非ご教授いただければと思います。
delegate bool Execute( string oprand );
class Entry {
static bool aaa(string op)
{ System.Console.WriteLine("aaa "+op); return true; }
static bool bbb(string op)
{ System.Console.WriteLine("bbb "+op); return true; }
static bool ccc(string op)
{ System.Console.WriteLine("ccc "+op); return true; }
static public void Main() {
System.Collections.Generic.Dictionary<string,Execute> map =
new System.Collections.Generic.Dictionary<string,Execute>();
map["AAA"] = aaa;
map["BBB"] = bbb;
map["CCC"] = ccc;
map["BBB"]("argument");
}
}
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
汎用デリゲートを使う (Action系やFunc系),コレクション初期化子など,2008で追加された機能を使って書き換える程度でしょうか。
class Entry
{
static bool aaa (string op) { System.Console.WriteLine("aaa " + op); return true; }
static bool bbb (string op) { System.Console.WriteLine("bbb " + op); return true; }
static bool ccc (string op) { System.Console.WriteLine("ccc " + op); return true; }
static public void Main ()
{
var map = new System.Collections.Generic.Dictionary<string, Func<string, bool>> // varによるコンパイル時型推論,Func汎用デリゲート
{ // コレクション初期化子
{ "aaa", aaa },
{ "bbb", bbb },
{ "ccc", ccc },
};
map["bbb"]("argument");
}
}
お礼が遅くなりました。
汎用デリゲート、コレクション初期化子、varによるコンパイル時型推論ですね。
役に立ちました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#での関数テーブルの作り方
-
マルチスレッドで同時にFTPアッ...
-
C# ListBoxのアイテムをユーザ...
-
C#でIPアドレスの取得について
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
-
JavaScriptの変数をjavaのメソ...
-
ORA-01858: 数値を指定する箇所...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
JScrollPaneで、表示がおかしく...
-
JavaScriptを使ってロト6の当...
-
streamで送信されたArrayListを...
-
JavaScriptとVBScriptに関して
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
-
matchesを否定文として使う方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Java8以降】csvファイルの複...
-
特定の文字列が一致する行から...
-
C# ListBoxのアイテムをユーザ...
-
マルチスレッドで同時にFTPアッ...
-
「指定されたキャストは有効で...
-
Delphiで改行文字の置換がうま...
-
C#でプロパティを使わずXMLにデ...
-
ArrayListを改良したい
-
jap実行時のTomcatのエラーに困...
-
C#でIPアドレスの取得について
-
C#での関数テーブルの作り方
-
strcmp関数などでの複数の文字...
-
string→CStringの型変換について
-
strtokでの空文字への置き換え
-
php掲示板でトリップ(ID)をつ...
-
C#での関数テーブルの作り方
-
PHPのSHA256変換について
-
c言語
-
C++ ファイルからデータを取得
-
C++のmap
おすすめ情報