Надеюсь, вопрос не слишком запутанный, я пытался объединить разные типы списков в одну функцию без большого количества кода, но я не знаю как.
Это сценарий:
У меня есть несколько классов (TClass1.cs, TClass2.cs, TClass3.cs, TClass4.cs, ...), все похожие так:
namespace Polly
{
public class TClass1
{
public string Box1 { get; set; }
public string Box2 { get; set; }
}
}
Тогда я использую их как списки:
public List<TClass1> List1 = new List<TClass1>();
public List<TClass2> List2 = new List<TClass2>();
public List<TClass3> List3 = new List<TClass3>();
И в настоящее время я использую их в Main.cs следующим образом:
public class Polly
{
private void button1_Click(object sender, EventArgs e)
{
if (value == 1)
{
//100 rows calculating string f
string f = List1.Box1;
}
else if (value == 2)
{
//100 rows calculating string f
string f = List2.Box1;
}
else if (value == 3)
{
//100 rows calculating string f
string f = List3.Box1;
}
}
}
Так как все списки в основном одинаковы и скопированы и вставлены, я бы хотел вычислить строку f только один раз следующим образом:
public class Polly
{
private void button1_Click(object sender, EventArgs e)
{
if (value == 1)
{
GetString(List1);
}
else if (value == 2)
{
GetString(List2);
}
else if (value == 3)
{
GetString(List3);
}
}
private string GetString(List<> ls)
{
//100 rows calculating string f
string f = ls.Box1;
return f;
}
}
Единственная проблема в том, какой тип Списка я должен использовать, так как он меняется от списка к списку (TClass1, TClass2 и т. Д.)?:
private string GetString(List<WHATDOIPUTINHERE?> ls){}