假设我有一个代表...
public delegate void MyAction(params object[] args);
还有一个带有使用该 delagate 的子类的类...
public class MyClass {
public List<MySubClass> mySubClasses;
}
public class MySubClass {
public string myString;
public MyAction myDelegateMethod;
}
我希望能够myDelegateMethod
在运行时将任何方法传递给 ,它可以接受任意数量的不同类型的参数。像这样的东西...
MyClass myClass = new MyClass(){
mySubClasses = {
new MySubClass {
myString = "help",
myDelegateMethod = Method1
},
new MySubClass {
myString = "me",
myDelegateMethod = Method2
}
}
};
public string Method1(object myObject) { ... }
public string Method2(string value, Guid id) { ... }
我将如何在运行时调用这些方法中的每一个并传递适当的参数?
myClass.mySubClasses.ForEach(x => {
x.myDelegateMethod; // <-- this is where I'm stumped. how do i pass arguments here?
});
这可能吗?也许我有什么实施错误?