@webstackoverloa Чтобы вернуть из метода произвольный Windows Forms Control и взять его свойство Text, dynamic конечно не нужен. Они наследуются от общего класса System.Windows.Forms.Control, так что можно просто использовать статическое связывание:
public Control Test(int n)
{
switch (n)
{
case 1: return label1;
case 2: return comboBox1;
}
return null;
}
//...
string s = Test(1).Text;
string s2 = Test(2).Text;
Но НЕ ЛЮБОЙ класс, имеющий свойство Text, наследует от System.Windows.Forms.Control. Что, если хочется добавить сюда же ToolStripItem?