C# で開発する場合、Where、Select、Aggregate などの機能的なメソッドを使用することは、多くの理由で非常に優れており、私はそれらをかなり頻繁に使用しています。ただし、Windows Phone 7.1 用の Silverlight 4.0 フレームワークには、それらが含まれていないようです。それを変更する方法はありますか?完全な .NET フレームワークのものを指すように mscorlib.dll を変更することはできないと思いますが、できますか?
質問する
55 次
1 に答える
1
警告: 私はアクティブな WP7 開発を行っていません。
でも!バニラの Windows Phone 7.1 プロジェクトをスピンアップし、以下を使用すると、正常に動作します。LINQ クエリ構文と拡張メソッド構文の両方が正常に動作します。
var foo = from x in arr
where x%2 == 0
select x*2;
var bar = foo.Average();
注意すべき唯一のことは、System.Core.dll からこれらのメソッドを取得していることです。つまり、(IDE で参照した場合):
// Type: System.Linq.Enumerable
// Assembly: System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
// Assembly location: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone71\System.Core.dll
したがって、Windows Phone 7.1 の System.Core.dll を参照していることを確認してください。
編集(コメントを参照):次のものがあることも確認してください:
using System.Linq;
ファイルの先頭。
于 2012-06-20T13:35:00.427 に答える