上下文/我的代码
请先查看以下代码段。
我的第一个界面
public interface ISystemUser<T>
{
T GetIdentifiedBy();
...omitted code...
}
我的班级
public class AccessObject<U,V,W> where U : ISystemUser<V>
{
public U ContextUser { get; private set; }
public IOType IOType { get; private set; }
public List<W> RequestedObjects { get; private set; }
...omitted code...
}
问题
现在我遇到了以下一行的麻烦
public class AccessObject<U,V,T> where U : ISystemUser<V>
问题是,我想在 AccessObject 的泛型中指定我的类型 U , U 必须是实现的类界面 ISystemUser 。
对我来说,在AccessObject类定义中指定 V 是完全没必要的。因为我希望 U 成为 ISystemUser 实现,所以不要关心在 ISystemUser 定义中选择哪个泛型,因为我不使用我的代码 AccessObject 中的泛型 V 。
问题
所以基本上,没有办法让结果更容易使用,例如下面的代码片段?
public class AccessObject<U,W> where U : ISystemUser
因为 U 会自动指示 V 的类型,不是吗?