У меня есть дюжина различных функций, каждый из которых принимает разные объекты и выполняет некоторую работу с идентификатором объекта параметра
public void MyFunctionForTypeA(TypeA value)
{
DoSomething(value.Id);
}
public void MyFunctionForTypeB(TypeB value)
{
DoSomething(value.Id);
}
...
при условии, что у каждого объекта есть свойство Id, есть ли способ обобщить функции?
Я пробовал это, но я думаю / надеюсь, есть лучший способ
public void MyFunctionForEveryType(object value)
{
dynamic myValue = value;
DoSomething(myValue.Id);
}
(действительно ли я должен использовать динамику в первую очередь? Есть ли какая-нибудь хитрость для достижения этой цели?)
и нет, к сожалению, все объекты параметров не имеют общего интерфейса или базового класса любого вида: (