Тема: Як краще реалізувати метод з багатьма не обов'язковими параметрами
Для прикладу є метод який приймає чотири параметри, три з яких не обов'язкові.
Можна зробити дефолтне значення для кожного параметру, і в методі перевіряти чи не нульові ці параметри.
Якщо є значення в параметрі, робити заплановану дію
MyMethod(object one, object two = null, object three = null, object four = null)
{
if(two != null)
{
//do some action
}
if(three != null)
{
//do some action
}
if(four != null)
{
//do some action
}
}
Можна зробити перевантаження методів
MyMethod(object one)
{
//do some action with "one"
}
MyMethod(object one, object two)
{
//do some action with "one" and "two"
}
MyMethod(object one, object two, object three)
{
//do some action with "one", "two" and "three"
}
...
Можливо є ще якісь варіанти (якщо є, напишіть, будь-ласка)
Питання: який спосіб "кращий" ?
Розумію що "кращий" це загальне поняття, потрібно читко визначити що мається на увазі під "краще". Але напевно є загальні рекомендації як в таких випадках робити, щоб код був якісним.