我有两种不同类型的节点,我需要能够以相对简单的方式在它们之间进行转换.我正在考虑在构造函数中执行此操作,因为它会使代码更清晰.
NodeA nodea = new NodeA();
NodeB nodeb = new NodeB.FromNodeA(nodea);
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌搜索几个小时,但未能找到办法做到这一点.我提出的最佳解决方案是;
public NodeB() { }
public static NodeB FromNodeA(NodeA theNodeA)
{
NodeB b = new NodeB();
b.Value = theNodeA.value;
// etc..
}
Run Code Online (Sandbox Code Playgroud)
但是这使代码看起来更像一个时髦的东西;
NodeB b = NodeB.FromNodeA(nodea);
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望能够这样做:
NodeB b = new NodeB().FromNodeA(nodea);
Run Code Online (Sandbox Code Playgroud)
编辑; 或者是静态方法我已经做了更多(传统上)正确的方法来完成这个?