这段代码有什么用?

时间:2009-09-05 02:46:31

标签: c# .net oop interface

我无法弄明白this code的用法。这种模式有什么用?

[此处为后代重复的代码]

public class Turtle<T> where T : Turtle<T>
{
}

2 个答案:

答案 0 :(得分:9)

此模式实际上允许您引用父类中的具体子类。 例如:

public abstract class Turtle<T> where T : Turtle<T>
{
    public abstract T Procreate();
}

public class SeaTurtle : Turtle<SeaTurtle>
{
    public override SeaTurtle Procreate()
    {
        // ...
    }
}

对战:

public abstract class Turtle
{
    public abstract Turtle Procreate();
}

public class SnappingTurtle : Turtle
{
    public override Turtle Procreate()
    {
        // ...
    }
}

在前者中,指出SeaTurtle的宝宝将是SeaTurtle

答案 1 :(得分:-1)

我看不到任何用处。基本上,它与

相同
public class Turtle
{
}