如果我有这个类:
如果我需要将一个NodeB对象转换为NodeA类型,最好的方法是什么?创建一个包装类吗?如果我必须创建一个包装类,如何创建它,以便所有wpf控件仍然能够成功地绑定到属性?
创建一个包装类可能是最好的方法。您可以通过在包装类中定义与NodeB相同的属性和字段来实现此目的,并将其用作NodeA对象的代理。这样,您就可以使用新算法返回的ISymbolElem对象填充NodeB属性,并在WPF应用程序中正常显示。
需要创建这种转换的原因是:旧算法在编译的程序中返回符号列表(IMemorySymbol)。我们已经开发了一种新算法,字段和属性有所不同(ISymbolElem)。我们需要执行临时转换,以便在wpf应用程序的视图中显示属性。
class NodeA
{
public string Name{get;set;}
public List<NodeA> Children {get;set;}
// etc some other properties
}
还有其他的类:
class NodeB
{
public string Name;
public IEnumerable<NodeB> Children;
// etc some other fields;
}
如果我需要将一个NodeB对象转换为NodeA类型,最好的方法是什么?创建一个包装类吗?如果我必须创建一个包装类,如何创建它,以便所有wpf控件仍然能够成功地绑定到属性?
创建一个包装类可能是最好的方法。您可以通过在包装类中定义与NodeB相同的属性和字段来实现此目的,并将其用作NodeA对象的代理。这样,您就可以使用新算法返回的ISymbolElem对象填充NodeB属性,并在WPF应用程序中正常显示。
需要创建这种转换的原因是:旧算法在编译的程序中返回符号列表(IMemorySymbol)。我们已经开发了一种新算法,字段和属性有所不同(ISymbolElem)。我们需要执行临时转换,以便在wpf应用程序的视图中显示属性。