首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TreeNode创建错误

TreeNode创建错误
EN

Stack Overflow用户
提问于 2016-04-26 11:41:25
回答 2查看 50关注 0票数 3

我正在尝试使用TreeNodes在代码中创建一个类似树的结构。我对TreeNodes一点也不熟悉。我之前做了一些搜索,但我仍然觉得我不是很清楚我在做什么。

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

它的可视化表示如下所示:

代码语言:javascript
复制
                /--------|--------\          /--------|--------\

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

诸若此类。

代码语言:javascript
复制
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;
    }
}

目前,我收到错误TreeNode<T>' does not implement interface memberSystem.Collections.Generic.IEnumerable>.GetEnumerator()'.

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

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

谢谢

EN

回答 2

Stack Overflow用户

发布于 2016-04-26 11:51:14

问题出在声明TreeNode<T> (将)实现IEnumerable<TreeNode<T>>的代码行中。为了正确地实现该接口,该类需要具有该接口公开的所有方法的实现。

代码语言:javascript
复制
public class TreeNode<T> : IEnumerable<TreeNode<T>> 

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

票数 0
EN

Stack Overflow用户

发布于 2016-04-26 11:58:42

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

请参阅线程,了解有关该错误的一些额外信息,以及可能的进一步了解。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36854869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档