同名接口内的属性 C#

Yeo*_*Yeo 3 c# interface

public interface IBox
{
    IBox id { get; }
}
Run Code Online (Sandbox Code Playgroud)

IBox id当接口在一个类上实现时,我试图理解这里的意图。

为什么IBox id用在这里?根据我对接口的理解,它列出了类的设计要求。然而,IBox id是在IBox其内部。使用IBox实现的接口创建的类的可能用途是什么?

我试图用IBox接口创建一个类。

public class Box : IBox
{
    public IBox id { get;}
}
Run Code Online (Sandbox Code Playgroud)

这样做可以达到什么目的?

dim*_*r.d 6

这是我首先想到的。不确定这是否能回答您的问题,但假设您正在实施链表数据结构。您可能会有某种 Node 来表示列表中的值:

class LinkedList<INode>
{
    public INode Head { get; set; }
}

interface INode
{
    INode Next { get; set; }
}

class Node : INode
{
    public object Value { get; set; }
    public INode Next { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

接口实现可用于确保类将具有对自身的引用,以便表示链表中的下一个元素。