カスタムメッセージングプロトコルの事実上逆シリアル化クラスとは何かがあります。このクラスは、リフレクションを使用して、クラスのプロパティとプロトコルマッピングの属性を検査します。これは、値が符号なし整数(32または64)であり、整数(32または64)にキャストされている場合を除いて正常に機能しています。
プロパティタイプをテストし(たとえばif x is int
)、これらの数値タイプのコードを分岐してunchecked
ブロック内でキャストを実行することもできますが、コードを単純に保ち、既存のConvert.ChangeType(value, convertToType)
ロジックを使用する方法を見つけたいと思います。このコンバーターに数値オーバーフローを無視させる方法はありますか?または、実行時にのみ認識される型を使用してキャストする代わりの方法はありますか?
注意:ここには修正が必要な根本的な原因があることを認識していますが、現在、データのソース、トランスポートタイプ、またはメッセージングプロトコルを変更することはできません。