我想实现类似于这样的效果:
interface IAbstract
{
string A { get; }
object B { get; }
}
interface IAbstract<T> : IAbstract
{
T B { get; }
}
class RealThing<T> : IAbstract<T>
{
public string A { get; private set; }
public T B { get; private set; }
}
所以我可以像这样做:
RealThing<string> rt = new RealThing<string>();
IAbstract ia = rt;
IAbstract<string> ias = rt;
object o = ia.B;
string s = ias.B;
这个可能吗?
IEnumerable
和IEnumerable<T>
,其中IEnumerable
有IEnumerator GetEnumerator()
,而IEnumerable<T>
则使用IEnumerator<T> GetEnumerator()
来完成与您的属性完全相同的操作。 - Scott Chamberlain