这是一个简单的语法问题(我希望),我知道如何使用where子句约束一个泛型类型,但是如何约束两个泛型类型?
也许最简单的方法是记下我对语法的最佳猜测.
public class GenericDaoGetByIdTests: BaseDaoTests where TDao : IDao , TComponent : EDC2ORMComponent { public void GetByIdTest(int id) { } }
这给了我一个错误.任何人都知道正确的语法是什么?
使用两个'where'关键字,例如我有这样的声明:
public interface IParentNodeTwhere TChild : IChildNodeT , INodeT where TSelf : IParentNodeT { TChild childRoot { get; set; } }
这应该工作:
public class GenericDaoGetByIdTests: BaseDaoTests where TDao : IDao where TComponent : EDC2ORMComponent { public void GetByIdTest(int id) { } }
你只需重复一下.