Есть Dictionary
я получаю определенный theGuid, и должен выполнить то что скрывается в Dictionary под этим гуидом и вернуть значение в случае, если оно требуется. Так вот, как узнать, требуется ли значение? Первое что приходит на ум - try...catch, но как то не красиво это.
Типа так
if (theDictionary.ContainsKey(theGuid))
{
dynamic FuncOrMethod = theDictionary[theGuid];
try
{
object o = FuncOrMethod(params);
// далее еще один трай будет на выполнение без возврата значений для проверки того, правильно ли переданы параметры
}
}
Еще как вариант проверять тип FuncOrMethod на все виды Action<> и Func<> (а их по 16 каждого, то есть в блоке свитч будет 32 условия, что тоже на мой взгляд некрасиво)
А можно ли как то узнать, принадлежит ли FuncOrMethod к Action или к Func без проверки на все типы?