У меня есть класс с методом, в котором будет передана строка. Этот метод будет выполнять некоторые действия с этой строкой, а затем передает строку определенному объекту, который может выполнять другие действия со строкой.
Так что в основном это выглядит так:
class Main
{
public Main()
{
strClass str = new strClass(this);
}
public function handler ( )
{
console.log("No string is passed yet, but this method is called from receiveData()");
}
}
class strClass
{
object handler;
public strClass ( handler )
{
// save the object
this.handler = handler;
}
public receiveData ( string str )
{
// This method does some stuff with the string
// And it then passes it on to the supplied object (handler) which will do
// the rest of the processing
// I'm calling the "handler" method in the object which got passed in the
// constructor
Type thisType = this.handler.GetType();
MethodInfo theMethod = thisType.GetMethod("handler");
theMethod.Invoke(this.handler, null);
}
}
Теперь этот код работает хорошо, с отражением. Но мне было интересно, разве это не возможно (а может, даже лучше?) С делегатами? Если да, то как я могу реализовать это, используя вместо этого делегата?