use*_*486 3 .net c# types object
为了满足客户的要求,我遇到了一些问题。
我会尽量让这个例子非常简单,只是给出一个问题的想法,并希望提出一个解决方案。
在这一点上,我们有一个类“形状”,例如,形状有一些特化,它可以是正方形、三角形等。
到目前为止一切顺利,一切都很好。
现在出于某种原因,我的客户想要将系统中已经存在的正方形更改为三角形,但要保留所有数据的形状。
那可能吗?任何解决方法?
Dan*_*ner 5
您不能更改对象的运行时类型。只需创建一个新三角形,复制所有相关值并丢弃正方形。如果正方形已经被许多其他对象引用,这当然会变得棘手,因为您必须更新所有引用。
如果替换对象不是一种选择,您可能必须想出一个可以充当任何类型形状的通用形状类。例如,此类可以是围绕其中一个具体形状类的实例的薄包装器。这使您只需用新三角形替换包装的正方形,而外部世界可以保留对包装类的所有引用。
归档时间:
11 年,7 月 前
查看次数:
2194 次
最近记录: