class Frame
{
    static int X;
    static int Y;
    static uint Color;
    static protected bool Check()
    {
        return (Coords.GetPixelColor(X, Y) == Color);
    }
}
class frameBeginning : Frame
{
    static int X = 1;
    static int Y = 2;
    static int Color = 3;
}
frameBeginning.Check(); cannot compile, because Check() is inaccessible due to its protection level.
But why, Check() is protected?