gpt4 book ai didi

asp.net - 当不同类型的对象表示相同但具有不同的数据结构时,如何避免将它们存储在同一位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:49:07 25 4
gpt4 key购买 nike

这在我看来是一个抽象的问题,希望我能解释清楚。我碰巧在一个完全不同的项目中发现了同样的问题,现在又遇到了,我想尽可能避免。

我正在创建一些类来简化一些任务,以满足我们在工作中的某些项目中的某些特定要求。

我有一个创建对象的类,该类将值从 webcontrols 映射到类似于此的对象属性

http://msdn.microsoft.com/en-us/library/aa478957.aspx

我遇到的问题是有时我必须在一个地方(在对象的属性中)存储一个非容器对象,有时我必须在同一个地方存储一个容器对象以存储 webcontrol 的值(一个 webcontrol有时可以包含多个值,例如复选框列表)。我一点都不喜欢这样,因为前段时间在非商业编译器中工作时,在解析和生成中间代码时我有时不得不在一个地方存储一个容器,有时我不得不在同一个地方存储一个非容器,并且不得不在代码的其他部分询问您正在阅读的是这种类型的对象,还是另一种类型的对象,这真的很烦人,它会弄乱代码。是否有任何提示可以更好地避免这种情况,或者有时无法避免这种情况?

最佳答案

这就是多态问题。

“有时我必须将非容器对象存储在……对象的属性中,有时我必须将容器对象存储在同一个地方”

你有两个东西应该是多态的。

解决此问题的最简单方法是始终使用容器。当您想要存储单个非容器对象时,您将其“包装”在一个仅包含一个对象的容器中。

然后你总是有容器。有时容器有一个对象,有时有多个对象。

关于asp.net - 当不同类型的对象表示相同但具有不同的数据结构时,如何避免将它们存储在同一位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2064284/

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