public static class Program
public static void Main()
MethodInfo methodToInvoke = typeof(MyClass).GetMethod(
new System.Type[] { typeof(BaseClass) });
var result = methodToInvoke
.Invoke(new MyClass(), new object[] { new BaseClass() });
Console.WriteLine(result);
public static string myFunc(BaseClass bc) {
public static string myFunc(DerivedClass dc) {
public class BaseClass { }
public class DerivedClass : BaseClass { }