Я не думаю, что вы должны делать метод, подобный этому.
Из подписи у вас есть некоторый код типа
var value = GetValue(txtMyText, null);
, который устанавливает значение в txtMyText.Text;
ИЛИ у вас есть
var value = GetValue(null, ddlMyList);
, который устанавливает значение ddl.SelectedValue;
Проблема здесь в том, что это устраняет читабельность.Когда я читаю ваш код, я вижу, что вы выполняете GetValue (), но я в растерянности из-за того, что вы передаете нуль в некоторых параметрах.просто код:
var value = txtMyTextBox.Text;
var dropDownValue = ddlMyList.SelectedValue;
Создание этого метода на самом деле не так уж и полезно, потому что вы должны обрабатывать каждый тип элемента управления.У классов уже есть методы для получения их значения, и вы пытаетесь написать вспомогательный метод, который получит значение независимо от типа класса, затеняет то, что действительно происходит с небольшим значением.
Далее, если вы добавите больше типовв этом методе вы будете выполнять If / Else, пока не найдете тип и не вернете значение.Это вызывает ненужные циклы ЦП, тем более что вы уже знаете тип во время разработки (поскольку вы передаете ноль для одного параметра.)