首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化复杂记录类型的最简单技术是什么?

初始化复杂记录类型的最简单技术是什么?
EN

Stack Overflow用户
提问于 2016-09-01 17:23:53
回答 2查看 137关注 0票数 2

初始化复杂记录类型的最简单技术是什么?

我想做以下几点:

代码语言:javascript
复制
type BenefitsOverviewViewModel() =

    member val Overview:BenefitsOverview = null with get,set

当然,null对于初始化此属性无效。

但是,我计划稍后使用外部数据源初始化此属性。

是否有任何选项可用于初始化复杂记录,而不必为其每个成员标识和分配值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-01 18:09:07

也许吧。纳夫说。或?

你想说“也许它的初始化”或者“也许它不是”.

所以也许你得到了一些,或者你没有。这是你的选择。

这比用什么东西初始化它要好。或者什么都没有。

如果它是用某个东西初始化的,那么如果没有什么东西也是一样的话,你将如何使它不被发现呢?

既然它无论如何都不能修改,那么为什么要初始化某物,而实际上它并不是什么?

每一次改变,不管是从什么,还是什么,都会重新创造一切。你甚至可能不知道什么东西,或者只是什么都没有改变。

这就是简单的方法?

我说过这是你的选择?

否则,你可能会再做一次“更好”的模特。并使用如下的DU:

代码语言:javascript
复制
type MyRecordsAre = 
 | Initialized of MyRecords 
 | NotInitializedYet

然后你甚至会做这样的事情:

代码语言:javascript
复制
type MyRecordsAre = 
 | Initialized of MyRecords 
 | NotInitializedYet
 | InitializedButNotVerified of MyRecords
 | ReadFromOracleDbAndVerfiedAndReadyForFurtherHandling of MyRecords
 | ReadFromFileButNotYetValidated of MyRecords
 | FuckenDoNotTouchThisAnymore of MyRecords

突然间你更接近莫德尔了,有点像一个州之类的.

然后,你就能看到它没有什么,或者什么,甚至可以看到已经发生了什么或者有什么可能发生。是的,也许还会决定下一步该怎么做。除非什么都没有。事实上,如果没有什么的话。或者,让它从某物降为虚无。甚至不让任何人做某事,不管是什么也不做。如果你想要的话。

而且这个选择仍然是你的。

现在走吧,照你前面的话去做。阅读更多。特别是https://fsharpforfunandprofit.com/

也许吧。就在那时..。

好吧,我会去被同化,然后再被带到楼上.或?;-)

https://vimeo.com/113588389#t=3m

票数 3
EN

Stack Overflow用户

发布于 2016-09-02 11:55:07

要使用从被创建到由外部源初始化之间的记录类型吗?

正如@Helge可能会说的那样,也许只是一种选择--尽管他们的答案很好,但还有其他的方法。

其中之一是将复杂的记录类型分解为较小的记录类型,当您拥有数据时,将它们组合在一起。每个单独的步骤都是相对较小的,但是最终会有多个对象。另一方面,这种方法不允许表示单个类型的不正确/不完全初始化状态。

另一个可能是创建一个“构造函数”,它将把缺失的值作为参数,然后关闭其余的值来创建大记录。返回此函数,以便以后可以与其他数据一起调用它,以生成完全初始化的值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39277519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档