Мне было интересно: вы бы использовали просто объект в качестве параметра в вашем методе? Моя причина этого - перегрузка. В настоящее время я пытаюсь создать метод, который подходит ко многим различным типам данных: string
, decimal
, DateTime
... этот список можно продолжить.Использование типа объекта в качестве параметра
Это становится немного грязным, поэтому я думал сделать следующий
public void GenericMethod(object val)
{
if (val is string)
// process as string
else if (val is decimal)
// process as decimal
else if (val is DateTime)
// do something for dt
else
// ...
}
Что вы думаете о таком методе? Не повлечет ли он лишние накладные расходы? (во время проверки типа) Вы реализовали его? Сообщите мне ...
EDIT: Да, и я просто знаком с перегрузкой. Но это становится немного раздражающим, когда есть больше чем 10 перегрузок ...
Хотя это технически работает, это, конечно, не очень хорошая идея, если у вас нет * очень убедительной причины для этого. –
В конечном итоге это зависит от того, что вы делаете в своем методе и как отличается ваш метод для каждого типа. В идеале вы бы использовали дженерики и делали параметр общим, если все они похожи. Если они радикально отличаются друг от друга, то это определенно не очень хорошая идея. Невозможно сказать, что было бы уместно в вашем случае. –