让我先说我对反思完全陌生。
我有Dictionary
一个string
to Func<string, string>
。我想添加一个配置部分,允许我定义可以以编程方式添加到此字典中的静态方法的名称。
所以基本上,我会有这样的事情:
public static void DoSomething()
{
string MethodName = "Namespace.Class.StaticMethodName";
// Somehow convert MethodName into a Func<string, string> object that can be
// passed into the line below
MyDictionary["blah"] = MethodNameConvertedToAFuncObject;
MyDictionary["foo"] = ANonReflectiveMethod;
foreach(KeyValuePair<string, Func<string, string>> item in MyDictionary)
{
// Calling method, regardless if it was added via reflection, or not
Console.WriteLine(item.Value(blah));
}
}
public static string ANonReflectiveMethod(string AString)
{
return AString;
}
是否可以这样做,或者我是否需要通过反射调用所有内容?