Я освещаю это в статье на моем сайте .
Почти все функции C # 3.0 доступны при нацеливании на .NET 2.0. Для методов расширения вам нужно определить дополнительный атрибут. Деревья выражений вообще недоступны. Поддержка выражений запросов основана на переводе, которому следуют «нормальные» правила C #, поэтому вам нужно что-то для обеспечения методов Select, Where и т. Д. LINQBridge является де-факто стандартной реализацией "LINQ to Objects в .NET 2.0". Вы можете захотеть объявить делегатов в семействах делегатов Func
и Action
, чтобы упростить работу с лямбда-выражениями, а затем удалить их, если / когда вы перейдете на .NET 3.5