代理人がいるとしましょう...
public delegate void MyAction(params object[] args);
そして、その遅延を使用するサブクラスを持つクラス...
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?
});
これは可能ですか?おそらく私は何かが間違って実装されていますか?