Ошибка компилятора 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;
}
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: