コンパイラ エラー CS0837
演算子 'is' または 'as' の最初のオペランドを、ラムダ式、匿名メソッド、またはメソッドのグループにすることはできません。
ラムダ式、匿名メソッド、およびメソッドのグループは、is または as の左側では使用できません。
is
演算子でこのエラーが発生する場合、is
が値と型を受け取り、参照変換、ボックス化変換、またはボックス化解除変換のいずれによって値をその型に変換できるかを通知することに注意してください。 ラムダは値ではなく、参照変換、ボックス化変換、またはボックス化解除変換を行わないため、is
の候補ではありません。コードで
as
が誤って使用されている場合、キャストに変更するとエラーが修正されることがあります。
次の例では CS0837 が生成されます。
C#
// cs0837.cs
namespace TestNamespace
{
public delegate void Del();
class Test
{
static int Main()
{
bool b1 = (() => { }) is Del; // CS0837
bool b2 = delegate() { } is Del;// CS0837
Del d1 = () => { } as Del; // CS0837
Del d2 = delegate() { } as Del; // CS0837
return 1;
}
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。