Я хочу использовать ключевое слово this
или что-то вроде typeof(this)
в ограничении where
моего универсального интерфейса, но, видимо, это неправильно (не компилируется).Есть ли хитрый способ сделать это, о котором я не знаю?
interface IParent<TChild> where TChild : IChildOf<typeof(this)>
{
void AddRange(TChild children){}
}
interface IChildOf<TParent> : IDisposable
{
TParent Parent { get; }
}
Или я должен сделать
interface IParent<TChild, T2> where TChild : IChildOf<T2>
и просто знать, что T2 будет классом, реализующиминтерфейс?