Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 树节点创建错误_C#_Error Handling_Treenode - Fatal编程技术网

C# 树节点创建错误

C# 树节点创建错误,c#,error-handling,treenode,C#,Error Handling,Treenode,我试图使用TreeNodes在代码中创建一个树状结构。我对TreeNodes一点都不熟悉。我做了一些搜索之前,但我仍然觉得我不明白我到底在做什么 我正在使用C#在Unity中创建一个游戏。我正在使用XML创建对话,我希望将不同选项中的不同选项存储在树状结构中 这方面的视觉表现形式如下: -------------------------------选择a-----------------选择b-------------------------------- /--

我试图使用TreeNodes在代码中创建一个树状结构。我对TreeNodes一点都不熟悉。我做了一些搜索之前,但我仍然觉得我不明白我到底在做什么

我正在使用C#在Unity中创建一个游戏。我正在使用XML创建对话,我希望将不同选项中的不同选项存储在树状结构中

这方面的视觉表现形式如下:

-------------------------------选择a-----------------选择b--------------------------------

                /--------|--------\          /--------|--------\

            choice d  choice e  choice f choice g  choice h  choice i
等等

public class TreeNode<T> : IEnumerable<TreeNode<T>> 
{
    public T Data {get; set;}
    public TreeNode<T> Parent { get; set; }
    public ICollection<TreeNode<T>> Children {get; set;}

    public TreeNode(T data) {
        this.Data = data;
        this.Children = new LinkedList<TreeNode<T>>();
    }

    public TreeNode<T> AddChild(T child) {
        TreeNode<T> childNode = new TreeNode<T>(child) {Parent = this};
        this.Children.Add (childNode);
        return childNode;
    }
}
公共类树节点:IEnumerable
{
公共T数据{get;set;}
公共树节点父节点{get;set;}
公共ICollection子项{get;set;}
公共树节点(T数据){
这个。数据=数据;
this.Children=newlinkedlist();
}
公共树节点AddChild(T child){
TreeNode childNode=新的TreeNode(child){Parent=this};
this.Children.Add(childNode);
返回子节点;
}
}
当前我收到错误
TreeNode'未实现接口成员
System.Collections.Generic.IEnumerable>.GetEnumerator()

我甚至不完全确定这个错误意味着什么,任何帮助都将不胜感激

我第一次在StackOverFlow中提出问题,因此,如果这是在错误的位置,请让我知道


谢谢

问题在于您声明
TreeNode
(将)实现
IEnumerable
。为了正确实现该接口,该类需要实现接口公开的所有方法

public class TreeNode<T> : IEnumerable<TreeNode<T>> 
公共类树节点:IEnumerable

删除
:IEnumerable
,它将正确编译。当然,除非您想要实现该接口,否则您需要添加所有IEnumerable方法的实现。

您可以尝试删除继承的
:IEnumerable
,或者您需要实现
System.Collections.IEnumerable.GetEnumerator()
方法

请参阅线程以获取有关错误的更多信息,以及可能的进一步理解

引用 “您没有实现System.Collections.IEnumerable.GetEnumerator。
当您实现通用IEnumerable时,还必须实现System.Collections.IEnumerable的GetEnumerator。

您能够解决问题吗?是的!谢谢你的帮助。