У вас недостаточно кода, чтобы кто-то действительно мог определить, чего вы пытаетесь достичь.Позвольте мне проиллюстрировать.
Если вы имеете в виду «когда я создаю производный класс, а затем« преобразую »в качестве его родительского класса, я хочу, чтобы T был равен», то код, который вы до сих пор представляете, соответствует этой мере.Предположим ...
public class WhereCondition<T>
{
}
public class WhereOrCondition<T> : WhereCondition<T>
{
}
public class DatabaseObject
{
public int Id { get; set; }
}
Теперь вы можете использовать родительские и дочерние классы и, в большинстве случаев, подбирать и опускаться до глубины души.И внутренний объект будет таким же.
Единственное, о чем я могу подумать, это может вызвать проблемы, если вы на самом деле не держите вещи «универсальными» и набрали T в одном из классов,добавление "where T: objectType".
Я что-то упустил?