コンパイラ エラー CS1688
デリゲート型 'delegate' には 1 つ以上の out パラメーターが含まれているため、パラメーター リストを含まない匿名メソッド ブロックをこのデリゲート型に変換することはできません
多くの場合、匿名メソッド ブロックではパラメーターを省略できます。 このエラーは、匿名メソッド ブロックにパラメーター リストがなく、デリゲートに out
パラメーターがある場合に発生します。 コンパイラでは、正常に動作する見込みがない out
パラメーターの存在を無視する必要があるため、このような状況は許可されません。
次のコードではエラー CS1688 が生成されます。
// CS1688.cs
using System;
delegate void OutParam(out int i);
class ErrorCS1676
{
static void Main()
{
OutParam o;
o = delegate // CS1688
// Try this instead:
// o = delegate(out int i)
{
Console.WriteLine("");
};
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。