Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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#_.net_Interface_Abstract Class - Fatal编程技术网

c#-我可以使用什么方法来扩展一组包含实现方法的类?(有关详细信息,请参见说明)

c#-我可以使用什么方法来扩展一组包含实现方法的类?(有关详细信息,请参见说明),c#,.net,interface,abstract-class,C#,.net,Interface,Abstract Class,我想创建一个我正在编写的具有拓扑、节点和关系类的可扩展包。其思想是,这些基类中包含各种必要的方法,以作为图遍历方法等的基础。然后,我希望能够通过扩展包来重用这些方法 例如,基本需求可能会看到与parentNode和childNode的关系。拓扑将具有节点列表和关系列表。拓扑将具有类似FindChildren(int-depth)的方法 然后,其用途是扩展这些属性,以便可以添加节点和关系的附加属性等 问题-打包和公开基级类/方法的最佳方法是什么?(有点像自定义集合,但有多个方面)。以下概念是否会发

我想创建一个我正在编写的具有拓扑、节点和关系类的可扩展包。其思想是,这些基类中包含各种必要的方法,以作为图遍历方法等的基础。然后,我希望能够通过扩展包来重用这些方法

例如,基本需求可能会看到与parentNode和childNode的关系。拓扑将具有节点列表和关系列表。拓扑将具有类似FindChildren(int-depth)的方法

然后,其用途是扩展这些属性,以便可以添加节点和关系的附加属性等

问题-打包和公开基级类/方法的最佳方法是什么?(有点像自定义集合,但有多个方面)。以下概念是否会发挥作用:

  • 接口-使用ITopology、INode等是一个好主意,还是因为用户无论如何都会扩展这些类而不需要这样做
  • 抽象类-基类是抽象类吗
  • 自定义泛型集合-使用此概念的某些方法是否有帮助(但如果有3个不同的类,这将如何工作)

  • 我想说的是实现接口的抽象基类,每个基类至少有一个实现类。用户可以选择扩展基类,或者继续使用一个有效的实现类,或者另外,他们可以完全实现所需的接口

    我会说抽象基类实现了一个接口,每个基类至少有一个实现类。用户可以选择扩展基类,或者继续使用一个有效的实现类,或者另外,他们可以完全实现所需的接口

    我添加了一些我也忘记的澄清(抱歉)我添加了一些我也忘记的澄清(抱歉)