私の関数は、オブジェクト型のパラメーター「値」を受け取ります。オブジェクトのメンバーに割り当てたいのですが、キャストは暗黙的に行われないため、明示的に指定する必要があります。ただし、オブジェクトでそのメンバーの現在のタイプを実際に指定したくないので、次のようにすることができます。
positiveOrder.OrderID = (int)value;
しかし、ビジネス要件が変化し、OrderID が別の方法で生成および格納された場合 (たとえば、GUIDS の Strings へのタイプの変更など)、ここに戻って変更する必要があり、これは望ましくない凝集です。次のようなコードのさまざまな順列を試しました
positiveOrder.OrderID = value as thisOrder.OrderID.GetType();
また
positiveOrder.OrderID = (typeof(thisOrder.OrderID)) value;
しかし、何も機能していないようです。変換する型をプログラムで指定するアイデアはありますか? Order クラスは変更されないため、コンパイル時または実行時に行うことができます。