用户定义的接口转换我刚刚在C#中遇到了“用户定义的接口转换”问题。我想做的是创建一个通用的Graph类,它可以根据支持的接口以几种不同的方式进行迭代。所以:g){g.enumerator=newGraphEnumerator(g,SortStrategy.BreadthFirst);将g作为IBreadthFirstSearchTree返回;}publicstaticexplicitoperatorIDepthFirstSearchTree(Graphg){g.enumerator=newGraphEnumerator(g,SortStrategy.DepthFirst);将g作为IDepthFirstSearchTree返回;}}为此目的:foreach(GraphNodegninmyGraphasIDepthFirstSearchTree){//dostuffwithgn}任何人知道如何在语言的约束下实现相同的语法结果吗?只需显式实现IDepthFirstSearchTree和IBreadthFirstSearchTree即可。这样,成员将不能在Graph类型的表达式上直接调用,但使用“as”(或转换)相应的成员将可用。我不确定这就是我实际在做的事情——我可能会完全摆脱接口并拥有:以上是C#学习教程的全部内容:用户定义的接口转换如果它对任何人都有用并且需要了解更多关于C#学习教程,希望大家多多关注—publicIEnumerableIterateBreadthFirst(){...}publicIEnumerableIterateDepthFirst(){...}本文来源于网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
