I have recently learned about delegates in C#. They are typesafe but I am wondering if you can create a delegate in some form that can point to functions with different return types and parameters. I think my solution may lie somewhere with Func, <T> or object type definition for the delegate. However if I use object type for delegate, the function can also only return an object and to find out what value was returned I'll have to make something that uses the is keyword to return a string representation of the value, won't I?
I am not too sure how to use Func or <T> when creating the delegate instance for different functions so can someone please help me?