Вот простой вопрос по синтаксису (надеюсь): я знаю, как ограничить один общий тип с помощью предложения where, но как ограничить два общих типа?
Возможно, самый простой способ - записать то, что я предполагаю относительно синтаксиса.
public class GenericDaoGetByIdTests<TDao, TComponent> : BaseDaoTests
where TDao : IDao<TComponent>, TComponent : EDC2ORMComponent {
public void GetByIdTest(int id) { }
}
Это дает мне ошибку. Кто-нибудь знает, каков правильный синтаксис?





Используйте два ключевых слова 'where', например, у меня есть такое объявление:
public interface IParentNodeT<TChild, TSelf>
where TChild : IChildNodeT<TSelf, TChild>, INodeT<TChild>
where TSelf : IParentNodeT<TChild, TSelf>
{
TChild childRoot { get; set; }
}
Это должно работать:
public class GenericDaoGetByIdTests<TDao, TComponent> : BaseDaoTests
where TDao : IDao<TComponent> where TComponent : EDC2ORMComponent {
public void GetByIdTest(int id) { }
}
вы просто повторяете где.