大規模な計算を行うアプリケーションを C# で作成しています。すべてが基本的な構造体 - 値を中心に進んでいます。これは基本的に double で、いくつかの追加パラメータ (accuracy など) があります。構造体である必要があります。これは、作成されるパラメータが多すぎてヒープを割り当てることができないためです。ここで、それらがすべて正しく初期化されていることを確認する必要があります。デフォルトの明示的なコンストラクターを宣言することはできませんが、すべてを 0 で初期化するデフォルトのコンストラクターが提供されていますが、これは私のドメインでは意味がありません。
また、パラメーターを使用してコンストラクターを呼び出さずにインスタンスの作成を拒否する方法はありません...?
基本的に私が必要とするのは、このテストに合格することです:
[Test]
public void HowDoesThisStructureInitializeByDefault()
{
Value v = new Value(); - if this did not compile - it would have been ok!
Assert.AreEqual(0, v.Val); - passes
Assert.AreEqual(-1, v.Accuracy); - fails
}
コンストラクターが明示的に呼び出されておらず、構造体がまだアクセスされていない場合は、例外をスローしても問題ありませんが、常にチェックすると時間がかかりすぎます。
私は今、ほとんど希望を失っています, 助けてください!