我想动态选择方法
我有一个20重载的方法,我想动态选择方法
假设我有通用List<MyClass> lst = new List<MyClass>();
class Myclass
{
String Paraname {Get; Set;}
String KeyName {Get; Set;}
String Border {Get; Set;}
.... So on
}
lst.add(new Myclass(Paraname="SomePara", KeyName="SomeKey"));
lst.add(new Myclass(Paraname="SomePara", KeyName="SomeKey"));
lst.add(new Myclass(Paraname="SomePara", KeyName="SomeKey", Border="Left"));
现在我想根据列表中添加的参数动态调用该方法。 感谢。
答案 0 :(得分:1)
最终,您需要查看列表和每个项目,并有一些标准来决定调用哪种方法。一旦您决定可以这样调用该方法
Type myType = Type.GetType("MyClass");
ConstructorInfo myConstructor = myType.GetConstructor(Type.EmptyTypes);
object myClassObject = myConstructor.Invoke(new object[]{});
MethodInfo myMethod = myType.GetMethod("Method Name");
object myValue = myMethod.Invoke(myClassObject, new object[]{100});
答案 1 :(得分:0)
答案 2 :(得分:-1)
您最好阅读一些关于OOP的文章,并尝试为您的应用构建更友好的架构。那么你所有的问题都会更容易理解 - 与当前不同。