C# 泛型接口类型限制另一个泛型接口
如何实现限制泛型接口类型的泛型接口C# 泛型接口类型限制另一个泛型接口,c#,.net,class,generics,interface,C#,.net,Class,Generics,Interface,如何实现限制泛型接口类型的泛型接口 interface A<T> interface B<T> where T: class 接口A 接口B,其中T:class 我需要将接口A限制为具有任何类类型的接口B 我在想它可能看起来像 interface A<T> where T : B<T> 接口A,其中T:B 或 接口A,其中T:class 但两者似乎都不起作用 有什么解决办法吗?你设计得太多了。 只需这样做: interface A<
interface A<T>
interface B<T> where T: class
接口A
接口B,其中T:class
我需要将接口A限制为具有任何类类型的接口B
我在想它可能看起来像
interface A<T> where T : B<T>
接口A,其中T:B
或
接口A,其中T:class
但两者似乎都不起作用
有什么解决办法吗?你设计得太多了。 只需这样做:
interface A<T> where T : class
{
B<T> SomeProperty { get;}
void SomeMethod(B<T> param);
}
接口A,其中T:class
{
B SomeProperty{get;}
方法(B参数);
}
您的第一次尝试“无效”的原因是什么?我不确定您到底想要实现什么,但是第一个版本忽略了类
约束:接口A,其中T:class,B{}
似乎不起作用?它以什么方式不起作用?您是否只是缺少A
中的类约束?非常简单
interface A<T> where T : class
{
B<T> SomeProperty { get;}
void SomeMethod(B<T> param);
}