Привет Я пытаюсь создать общий treenode. Вот абстрактный универсальный классInherited Generics Constructor C#
public abstract class TreeNode<T>
{
protected List<TreeNode<T>> _childNodes = new List<TreeNode<T>>();
protected TreeNode<T> ParentNode;
public T ObjectData { get; set; }
public TreeNode(TreeNode<T> parent, T data)
{
ParentNode = parent;
ObjectData = data;
}
}
Он имеет интерфейс компаньона
interface TreeNodeOperations<T>
{
//Adds child to tree node
public abstract void AddChild<T>(T child);
//Performs N-Tree search
public abstract TreeNode<T> SeachChild<T>(T child);
}
То, что я пытаюсь сделать, это унаследовать от обоих из них:
public class FHXTreeNode<T>: TreeNode<T>, TreeNodeOperations<T> where T : ParserObject
{
public FHXTreeNode(FHXTreeNode<T> parent, T data) ---> # **ERROR** #
{
ParentNode = parent;
ObjectData = data;
}
//Adds child to tree node
public override FHXTreeNode<T> AddChild<ParserObject>(T childData)
{
FHXTreeNode<T> child = new FHXTreeNode<T>(this, childData);
//_childNodes.Add(child);
return child;
}
}
Ошибка является: «Parser.Objects.TreeNode» не содержит конструктор, который принимает 0 аргументов
Помощь Pls!
Спасибо большое. Это большая помощь! – Nizzy
@JonathanVillegas, тогда вы должны принять ответ – phoog