2016-09-01 7 views
1

複雑なレコードタイプを初期化する最も簡単な方法は何ですか?私は、次のやりたい複雑なレコードタイプを初期化する最も簡単な方法は何ですか?

:もちろん

type BenefitsOverviewViewModel() = 

    member val Overview:BenefitsOverview = null with get,set 

は、nullがこのプロパティを初期化するために有効ではありません。

ただし、このプロパティは後で外部データソースで初期化する予定です。

複雑なレコードを初期化するオプションはありますか?各メンバーの値を特定して割り当てる必要はありませんか?

+3

'option'を使用しますか? –

+0

型コンストラクタに値を渡して初期化に使用しました。 –

答えて

2

多分。言っ途切れる。または?

あなたが

だから多分あなたは、いくつかを持って、または多分あなたはどれを持っていない...「多分その初期化」または「多分そのない」のような何かを言いたいです。オプションはあなたのものです。

これは何かで初期化するよりも優れています。または何もありません。

何かで初期化されている場合は、何も何かがない場合は、何も何かから何かを保つつもりですか?

なぜなら、実際には何もないときに何かを初期化するのはなぜですか?

それぞれが変更されても、変更されても、何も変更されなくても、すべてが再作成されます。そして、何か、あるいはまったく何も変わっていないか分からないかもしれません。

これは簡単な方法ですか?

私はオプションがあなたのものだと言っていましたか?

そうでなければ、おそらく "それより良い"モデリングを行うことができます。

type MyRecordsAre = 
| Initialized of MyRecords 
| NotInitializedYet 

そして、あなたも同じようなものを行うことがあります:などDUを使用するあなたも一種の状態やもののように、ややMODELLに近い

type MyRecordsAre = 
| Initialized of MyRecords 
| NotInitializedYet 
| InitializedButNotVerified of MyRecords 
| ReadFromOracleDbAndVerfiedAndReadyForFurtherHandling of MyRecords 
| ReadFromFileButNotYetValidated of MyRecords 
| FuckenDoNotTouchThisAnymore of MyRecords 

、突然...

あなたはそれが何か、または何かであることを知ることができ、何が起こったのか、起こり得ることを見ることさえできます。 Yepp、多分何かで次に何をするかを決める。何もない限り。そして、実際にはそれが無ければ。または、実際には何かから何かに劣化させてください。それが何でもないし何かであっても、誰かに何かをさせてはいけません。そのオプションが必要な場合。

オプションはあなたのままです。

これまで説明したように実行してください。続きを読む。特にhttps://fsharpforfunandprofit.com/

多分。ちょうどその時...

わかりました。私は行って同化し、上の階に再び連れて行きます...または?;-)

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

+0

ありがとうございます。私は型コンストラクタに値を渡してしまいました。私はその値で私の財産を初期化しました。それが私の問題を解決しました。 –

+1

@ScottNimrodそれはちょうどオプションではありません... –

3

あなたが作成されると、外部ソースによって初期化されている間、レコード・タイプを使用しますか?

@Helgeが言っているように、たぶん、単なるオプションです - 彼らの答えは良いですが、他の方法があります。

これらのうちの1つは、複雑なレコードタイプをより小さなものに分解し、データがあるときにそれらをまとめて配置しています。それぞれのステップは比較的小さくなりますが、複数のオブジェクトで終わることになります。一方、このアプローチでは、単一の型の不正確/完全に初期化されていない状態を表現することはできません。

もう1つは、欠落値をパラメータとして使用し、残りの部分を閉じて大きなレコードを作成する「コンストラクタ関数」を作成している可能性があります。後で残りのデータを呼び出すことで、完全に初期化された値を生成できるように、この関数を返します。

+0

たぶんあなたはそれについてちょうど正しい。必要に応じて;-) –

関連する問題