Zbiór klas pochodnych, które mają ogólną klasę bazową

Powiedzmy, że mam kilka klas pochodnych, których klasa bazowa jest klasą ogólną. Każda klasa pochodna dziedziczy klasę podstawową z konkretnym nadpisaniem typu (ale wszystkie typy również pochodzą od jednego typu bazowego).

Na przykład:

Mam klasę wiersza podstawowego

class RowBase
{
    //some properties and abstract methods
}

I mam dwie konkretne klasy wierszy, które pochodzą z klasy bazowej wiersza

class SpecificRow1 : RowBase
{
    //some extra properties and overrides
}

class SpecificRow2 : RowBase
{
    //some extra properties and overrides
}

Następnie mam drugą klasę bazową, która jest klasą ogólną, która zawiera kolekcję klas pochodnych z RowBase

class SomeBase<T> where T : RowBase
{
    ICollection<T> Collection { get; set; }
    //some other properties and abstract methods
}

Następnie mam dwie klasy pochodzące z SomeBase, ale używające innej określonej klasy wiersza

class SomeClass1 : SomeBase<SpecificRow1>
{
     //some properties and overrides
}

class SomeClass2 : SomeBase<SpecificRow2>
{
     //some properties and overrides
}

Teraz, gdy w moim głównym lub większym zakresie, chcę utworzyć listę / kolekcję, która zawiera zarówno obiekty SomeClass1, jak i SomeClass2. Lubić

ICollection<???> CombinedCollection = new ...
CombinedCollection.Add(new SomeClass1())
CombinedCollection.Add(new SomeClass2())
.
.
.
//add more objects and do something about the collection
.
.
.

Pytanie brzmi: czy możliwe jest posiadanie takiej kolekcji? Jeśli to możliwe, jak mogę to osiągnąć? Jeśli nie, co może być alternatywnym sposobem?

questionAnswers(1)

yourAnswerToTheQuestion