私はクラスを持っている:なぜ私は拡張メソッドを呼び出せませんか?
class Program
{
static void Main(string[] args)
{
}
public static int SetFlag_Old(this int i, int flag, bool set = true)
{
return (set) ? i | flag : ((i & flag) != 0) ? (i - flag) : i;
}
}
そして私は、私は延長mthodを呼び出すと、私はその理由を理解カントオプションを得ることはありません上記のmainメソッドにこのコードを入れて...
int i = 0;
i.
私が非静的メソッドを作成してそのコードを置いても、拡張メソッドを呼び出すようです。本当にシンプルなものが欠けていますか?
これはコンパイルされません。コンパイルエラーを修正しても問題は解決します –
"エラーCS1106:拡張メソッドは非ジェネリックな静的クラスで定義する必要があります" - コンパイラが何かを教えようとしているように感じます。 –
こんにちは@Marc、皮肉な応答のおかげで。実際には、私はdidntは、私はいつものエラータブを取得didntビルドを構築することを認識しています。私はビジュアルスタジオ(新しいマシン)を開いた。私はエラーリストを持っていなかったので、私は白い筆記に黒を見た。それは「OK」と見えた。私は本当に笑って周りを回っていたが、私は応答を感謝します。 – Exitos