C# 树节点创建错误
我试图使用TreeNodes在代码中创建一个树状结构。我对TreeNodes一点都不熟悉。我做了一些搜索之前,但我仍然觉得我不明白我到底在做什么 我正在使用C#在Unity中创建一个游戏。我正在使用XML创建对话,我希望将不同选项中的不同选项存储在树状结构中 这方面的视觉表现形式如下: -------------------------------选择a-----------------选择b--------------------------------C# 树节点创建错误,c#,error-handling,treenode,C#,Error Handling,Treenode,我试图使用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。“您能够解决问题吗?是的!谢谢你的帮助。