Hello Everyone, hello Tom,
I got this solved and the link you gave me was very uselfull (the for delegates in MSDN)
The solution for this was that I passed delegate to the function instead of passing the function name. And before that I assign the function to delegate like this:
private delegate void my_delegate(string name);
Class_A class_instance = new Class_A(); my_delegate = class_instance.Function_I_want_to_Pass;
private void Function_Caller(argument_1, argument_2, my_delegate)
now I can pass the delegate to the function (so it's just like passing the function name).
Of course - this way I create few more lines in the code but this does not bother as I can still achieve the goal of universal function caller.
Hope this helps anyone.
Thanks a lot!