1

タイプ名を保持する文字列があります。リフレクションで型を取得し、静的メソッドを呼び出したい。コードはできるだけシンプルにしたい。このようなもの:

public class MyClass {    
          static int foo() 
          {
             return 7;
          }; 
}

var MyClassType = Type.GetType("MyClass"); 
// your help here! 
int res = (MyClassType).foo();

ありがとう!

4

2 に答える 2

5

これを機能させるには、正しいバインディング フラグを指定する必要があります。

// NOTE: Use full name for "MyClass", incuding any namespaces.
var myClassType = Type.GetType("MyClass");
int res = (int)myClassType.GetMethod("foo", BindingFlags.NonPublic | BindingFlags.Static).Invoke(null, null);
于 2013-08-05T14:10:40.763 に答える
0

このようにしてみてください:

int res = Type.GetType("MyClassType").GetMethod("foo").Invoke(null, null);
于 2013-08-05T14:03:30.197 に答える