Легко. В Visual Basic я делаю это все время, используя CallByName.
Sub MethodBase(value as Object)
CallByName(Me, "RealMethod", CallType.Method, value)
Это вызовет перегрузку RealMethod, которая наиболее точно соответствует типу значения времени выполнения.
Я уверен, что вы можете использовать CallByName из C #, импортировав Microsoft.VisualBasic.Interaction или создав собственную версию, используя отражение.