gpt4 book ai didi

c# - 是否可以在 C# 中更改对象类型

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:09 25 4
gpt4 key购买 nike

为了满足客户的要求,我遇到了一些问题。

我会尽量让这个例子非常简单,只是给出问题的想法并希望提出解决方案。

此时我们有一个类“Shape”,例如,shape 有一些特化,可以是正方形、三角形等。

到目前为止一切顺利,一切正常。

现在出于某种原因,我的客户想要将系统中已存在的正方形更改为三角形,但保留所有数据的形状。

这可能吗?有什么解决方法吗?

最佳答案

您不能更改对象的运行时类型。只需创建一个新三角形,复制所有相关值并丢弃正方形。如果正方形已经被许多其他对象引用,这当然会变得棘手,因为您将不得不更新所有引用。

如果替换对象不是一个选项,您可能必须想出一个可以充当任何形状的通用形状类。例如,这个类可以是一个具体形状类实例的薄包装。这使您只需用新的三角形替换包装的正方形,而外界可以保留对包装类的所有引用。

关于c# - 是否可以在 C# 中更改对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23111593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com