.Net 2.0 Web サイトで Linqbridge を使用できた人はいますか? 通常の .Net 2.0 コンソールで問題なく使用できますが、Web サイトでメソッドを使用すると、
Feature 'extension method' cannot be used because it is not part of the ISO-2 C# language specification
.Net 2.0 Web サイトで Linqbridge を使用できた人はいますか? 通常の .Net 2.0 コンソールで問題なく使用できますが、Web サイトでメソッドを使用すると、
Feature 'extension method' cannot be used because it is not part of the ISO-2 C# language specification
エラーメッセージはかなり明確だと思います。拡張メソッドは 2.0 ではサポートされていません。2.0 で拡張メソッドを使用する場合は、 を削除して変更し、this
明示的に呼び出す必要があります。
あなたが持っていた場合:
public static class ExtensionMethods {
public static bool IsOdd(this int x) {
return x % 2 != 0;
}
}
次にExtensionMethods
、次のようなコードnumber.IsOdd()
はコンパイルされません。
2.0 で動作させるにthis
は、IsOdd
メソッド シグネチャの を削除して as を呼び出す必要があります。ExtensionMethods.IsOdd(number)
私の記憶が正しければ、それが LinqBridge の作成者が使用したアプローチです。
それが役立つことを願っています。
.NET と C# のバージョンを混同している可能性があります。LINQBridge は .NET 2.0 をサポートしていますが、拡張メソッドまたは LINQ 構文シュガーを使用してコードをコンパイルするには、C# 3.0 以降 (VS2008 以降) が必要です。コンパイルが完了すると、アセンブリは .NET 2.0 ランタイムで問題なく実行されます。それが LINQBridge の利点です。