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]));
                  
                  
                               //}                
                  
                  
                               //==============
                  
                  
                          }
                  
                  
                       }
                  
                  
                  }
                  
                  
                
ЛОЛ
Обсуждают сегодня