Compiler Error CS0666

'member' : new protected member declared in struct

A struct cannot be abstract and is always implicitly sealed. Because structs do not support inheritance, the concept of a protected member in a struct makes no sense. For more information, see Inheritance (C# Programming Guide).

Example

The following sample generates CS0666:

// CS0666.cs
class M
{
    static void Main()
    {
    }
}

struct S
{
    protected int x;   // CS0666
}