在这种情况下如何避免类型检查参数

问题描述

我想实现一个基本的Graph结构,以后可以扩展到更特定类型的Graph(对话,行为...),每个图形还需要从Node基类派生的特定类型的节点。 /> 我的Graph基类现在看起来像这样

public abstract class Graph {

  private Dictionary<Node,List<Node>> adjList;
  
  public abstract void AddNode(Node node);
  public abstract void RemoveNode(Node node);
  public abstract void AddEdge(Node node,Node destNode);
  public abstract void RemoveEdge(Node node,Node destNode);

}

我的问题是我必须在这些方法的实现中进行类型检查,以防止用户将DialogueNode添加到QuestGraph。是否有任何设计模式可以解决此问题?还是我应该没有基类并且多次编写一些代码?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)