IEnumerable<T>, IEnumerable{}
наследую от него класс A_collect
public class A_collect : Base_Collect<AbstractCompany>
также есть абстрактный класс AbstractCompany
public abstract class AbstractCompany {}
и унаследованные от него классы
public class Company_V1 : AbstractCompany {}
public class Company_V2 : AbstractCompany {}
вызываю все это безобразие следующем способом:
A_collect list = new A_collect(bytes)
как можно реализовать класс A_collect что бы заполнять список классами Company_V1 или Company_V2
в зависимости от ситуации?
public class A_collect : Base_Collect<AbstractCompany>
{
internal A_collect(byte[] b)
{
for (int i = 0; i < b.Length; i++)
{
//может быть как то через джинерики, но у меня не вышло привожу фрагмент того что я бы хотел получить в итоге
//это всего лишь фрагмент, я понимаю что класс должен выглядеть так public class A_collect<T> : Base_Collect<T> where T : AbstractCompany
//==============
//if (typeof(T) == typeof(Company_V1))
//{
// base.InnerList.Add(new Company_V1(b[i]));
//}
//if (typeof(T) == typeof(Company_V2))
//{
// base.InnerList.Add(new Company_V2(b[i]));
//}
//==============
}
}
}
ЛОЛ
Обсуждают сегодня