.NET 3.5 アプリケーションで使用されるため、.NET 3.5 でコンパイルされた非同期ライブラリがありますが、.NET 4.0 CancellationTokens を渡したい場合は、.NET 4.0 CancellationTokens を処理できるようにしたいと考えています。.NET 4.0 を含めるには.NET 3.5 との互換性を壊さなければなりません。これまでに思いついた唯一のオプションは、「オブジェクト」を渡すことを許可してからリフレクションを使用することですが、それは醜いパブリックインターフェイスになります...クライアントコードが正しいものを渡していることを確認したい実行時ではなく、コンパイル時のオブジェクト タイプ。
コンシューマー アプリケーションに不要な依存関係を導入することなく、コンパイル時に .NET 4.0 オブジェクトに対してバインドする方法はありますか? 「この機能がある場合は使用し、ない場合はスキップする」と言うには?