Ste*_*ero 3 .net c# polymorphism
我有这样的代码:
public interface INode
{
INode Parent { get; set; }
// ......
}
public interface ISpecificNode : INode
{
new ISpecificNode Parent { get; set; }
// ......
}
public class SpecificNode : ISpecificNode
{
ISpecificNode Parent { get; set; }
// ......
}
Run Code Online (Sandbox Code Playgroud)
此代码提供编译错误,因为未实现INode.Parent.但是,我不需要重复的父属性.
我该如何解决这个问题?
Ale*_*ria 10
我想你正在寻找这样的东西:
public interface INode<T> where T : INode<T>
{
T Parent { get; set; }
}
public interface ISpecificNode : INode<ISpecificNode>
{
}
public class SpecificNode : ISpecificNode
{
public ISpecificNode Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |