teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2017/09/01 05:56

投稿

workaholist
workaholist

スコア559

answer CHANGED
@@ -13,4 +13,41 @@
13
13
  Console.WriteLine("I am call{0}", i);
14
14
  }
15
15
  ```
16
- リフレクションで動的に関数名を指定したいということでしょうか。
16
+ リフレクションで動的に関数名を指定したいということでしょうか。
17
+ ```C#
18
+ class Program
19
+ {
20
+ static void Main(string[] args)
21
+ {
22
+ TestClass tc = new TestClass();
23
+ Type t = tc.GetType();
24
+ for (int i = 1; i <= 4; i++)
25
+ {
26
+ MethodInfo mi = t.GetMethod(string.Format("Call{0}", i));
27
+ mi.Invoke(tc, new object[] { });
28
+ }
29
+
30
+ Console.ReadLine();
31
+ }
32
+ }
33
+
34
+ class TestClass
35
+ {
36
+ public void Call1()
37
+ {
38
+ Console.WriteLine("I am call1");
39
+ }
40
+ public void Call2()
41
+ {
42
+ Console.WriteLine("I am call2");
43
+ }
44
+ public void Call3()
45
+ {
46
+ Console.WriteLine("I am call3");
47
+ }
48
+ public void Call4()
49
+ {
50
+ Console.WriteLine("I am call4");
51
+ }
52
+ }
53
+ ```