CS3027はC#で発生するコンパイラ警告のひとつです。 この警告は、CLS準拠のルールに反する型が基本となるインターフェイスに使用された場合に表示され、結果として派生する型もCLS非準拠となる可能性があります。 警告内容を理解し、CLS準
続きを読む »CS4014は、C#で非同期メソッドを呼び出す際に、awaitを付けずに実行した場合に表示される警告です。 これにより、呼び出し結果のタスクが完了する前に次の処理へ進んでしまうため、意図しない動作や例外の見逃しにつながる可能性があります。
続きを読む »CS5000は、C#コンパイラで無効なコンパイラオプションが指定された場合に表示される警告です。 たとえば、/optionのようなオプションが原因で発生することがあります。 最新のRoslynではこの警告が表示されなくなったため、古いコード
続きを読む »CS3019は、C#コンパイラが出力する警告の一つです。 CLSCompliant属性が付与された型やメンバーが、別アセンブリから見えない場合に発生します。 警告を解決するには、対象が外部から参照可能となるように修正するか、属性を削除する方
続きを読む »CS3021警告は、C#で発生するコンパイラ警告です。 アセンブリにCLSCompliant(true)が宣言されていない場合に、クラスへ[CLSCompliant(false)]属性が指定されると警告が表示されます。 不要な属性の記述が原
続きを読む »CS4004エラーは、C#でunsafeブロック内においてawaitを使用した際に発生します。 例えば、固定領域を確保するfixedブロック内で非同期処理の待機を行うと、このエラーが出ます。 対策として、アンセーフコードは別メソッドに分離し
続きを読む »CS4008は、C#の非同期メソッドでawaitを使用する際、戻り値がvoidのメソッドを待機しようとすると発生するコンパイラエラーです。 エラー解決には、対象メソッドの戻り値をTaskやTask<T>に変更するなど、非同期処理
続きを読む »CS4009 は C# のコンパイラエラーです。 エントリーポイントである Mainメソッドに async 修飾子を使用すると、C# 7.0 以下ではエラーになります。 解決するには C# のバージョンを 7.1 以降に更新するか、Main
続きを読む »CS4013は、C#で列挙子メソッドや非同期メソッド内で、ReadOnlySpanなどのref struct型を使用した場合に発生するコンパイルエラーです。 列挙子関数は内部的に状態機械を生成し、その際にローカル状態をヒープに格納する必要が
続きを読む »CS4032エラーは、非同期処理用のawait演算子を非asyncメソッド内で使用した際に発生します。 エラーを解決するには、対象のメソッドにasync修飾子を付与し、戻り値型をTaskやIAsyncEnumeratorなどの非同期対応型に
続きを読む »CS4033エラーはawait演算子を非同期メソッド以外で使用した場合に発生します。 対象メソッドにasync修飾子を付け、戻り値の型をTaskなど非同期処理に対応する型へ変更することで解決できます。 例えば、await foreachを使
続きを読む »CS5001エラーは、C#で実行可能ファイルを作成する際に、エントリポイントとして認識される静的なMainメソッドが見つからない場合に発生します。 Mainメソッドは、正確な命名や署名が求められるため、記述ミスがエラーの原因となります。 a
続きを読む »CS7003は、C#でジェネリック型を使用する際に角かっこ内に必要な型パラメーターを記述しなかった場合に発生するコンパイルエラーです。 変数宣言やオブジェクト生成時に具体的な型を指定することで、エラーが解消できるため、記述内容の確認をお願い
続きを読む »C#で発生するコンパイラエラーCS8124は、タプル宣言において要素が1つしか指定されていない場合に発生します。 タプルを使用する際は、必ず2つ以上の要素を記述する必要があります。 例えば、(int, int)とすることでエラーが解消される
続きを読む »C#でタプルを使用する際、タプル要素名の順序が正しく並んでいないとコンパイラエラーCS8125が発生します。 例えば、(Item2: 2, Item1: 1)と記述するとエラーが出るので、正しい順序である(Item1: 2, Item2:
続きを読む »CS8127は、C#のコンパイラエラーの一つで、タプルの要素名に重複がある場合に発生します。 例えば、(int a, int a)と記述するとエラーとなるため、各要素に一意な名前を付け、(int a, int b)のように記述する必要があり
続きを読む »CS8132は、C#でタプルを変数に分解する際に、タプルの要素数と変数の数が一致しない場合に発生するコンパイラエラーです。 たとえば、3つの値を含むタプルを2つの変数に分解しようとするとエラーが表示されます。 破棄変数を活用することで、正し
続きを読む »CS8147は、C#で発生するコンパイラエラーです。 refで返すプロパティにsetアクセサーを定義するとエラーが発生します。 参照渡しのプロパティは値の不整合を防ぐため、getアクセサーのみとする必要があります。 setアクセサーを削除す
続きを読む »CS8148はC#のコンパイラエラーです。 基本クラスのメソッドをオーバーライドする際、戻り値にrefを付けるかどうかの指定が一致していないと発生します。 例えば、基本クラスが値を返す場合に、派生クラスでref付きの戻り値を指定するとエラー
続きを読む »