コンパイラ エラー CS0842
自動的に実装されたプロパティは、StructLayout(LayoutKind.Explicit) でマークされた型の内部で使用できません。
自動的に実装されるプロパティには、コンパイラによって提供されるバッキング フィールドがあり、ソース コードからフィールドにアクセスできません。 したがって、 LayoutKind.Explicitと互換性がありません。
- プロパティをアクセサー本体が提供される通常のプロパティにします。
次の例では、CS0842 が生成されます。
// cs0842.cs
using System;
using System.Runtime.InteropServices;
namespace TestNamespace
{
[StructLayout(LayoutKind.Explicit)]
struct Str
{
public int Num // CS0842
{
get;
set;
}
static int Main()
{
return 1;
}
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。