async/await キーワードを使用できるようにするために非同期 CTP ライブラリを使用するアプリケーションがあります。C# の実際のバージョンである 5.0 にはデフォルトでこの機能があり、非同期 CTP のすべての正確なバージョンではないことを知っています。たとえば、非同期 CTP では TaskEx が存在し、C# 5.0 では存在せず、Task.
しかし、これらの違いにもかかわらず、非同期メソッドによって返される Task オブジェクトが同じかどうかを知りたいです。
私の場合、リポジトリがデータベースにアクセスするためのインターフェイスがあります。現在、このリポジトリは C# 4.0 を使用するクラスによって実装されていますが、asyc CTP を使用して Task を返し、await キーワードを使用できます。しかし、将来的には、C# 5.0 を使用する他のクラスを使用したいと考えています。
インターフェイスで Task を返すメソッドを定義する場合、C# 4.0 を使用するクラスと C# 5.0 を使用するクラスでこのインターフェイスを実装できますか? または、非同期 CTP と C# 5.0 の Task オブジェクトに違いはありますか?
PD: C# のバージョンを修正しました。つまり、C# 4.5 ではなく 5.0 です。
PD2: VS2012 では、Microsoft.Bcl.Async と Microsoft.CompilerServices.AsyncTargetingPack を使用して、.NET 4.0 をターゲットとするプロジェクトで asyn/await キーワードを使用できるようです。しかし、私はそれらの違いが何であるかわかりません。