質問

.Net 2.0フレームワークをターゲットとするアプリケーションで使用できる C#3.0 言語機能は何ですか?

PS:Lambda式や var キーワード

のようなものはほとんど知らない
役に立ちましたか?

解決

こちらをご覧ください:

。Net 2.0アプリケーションでのC#3.0(.Net 3.5)構文の使用

.NET 2.0 Frameworkをターゲットにし、C#3.0を使用するときにできることとできないことを完全に分析するには。

要約:

拡張メソッドの並べ替え作業は、ただし、「System.Runtime.CompilerServices.ExtensionAttribute」が必要です;動作するために、このタイプはSystem.Core DLL(厳密には.NET 2.0フレームワークの一部ではありません)内にあります。

クエリ構文は使用できません" out of the box"ただし、サードパーティのDLL( LINQBridge )が使用されます。このDLLは、「欠落」の多くを効果的に再実装します。 .NET 2.0フレームワークを対象とするときにLINQを実行する必要があるタイプ。また、" ExtensionAttribute"も実装します。拡張メソッドが機能するために必要なタイプを入力してください。プロジェクトからLINQBridge DLLを追加/参照するだけで、LINQ、クエリ構文/式、拡張メソッドが有効になります。

他のヒント

このトピックに関する記事を持っています。

概要:

サポート:

  • 自動的に実装されたプロパティ、暗黙的に型指定されたローカル変数と配列、オブジェクトとコレクションの初期化子、匿名型、部分メソッド、デリゲート型に変換されたラムダ式。

部分的にサポート:

  • 拡張メソッド(属性が必要)およびクエリ式(LINQBridgeなどが必要です)

サポートされていません:

  • 式ツリーに変換されたラムダ

実際、Monoの System.Core の実装により、式ツリーへの変換 が利用可能であると聞きました。私はまだ試していません...私はそうすることを意味し続けています(そしてページを更新します)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top