Private class members in C#

class Shape {
    private static int maxUID;
    private int uid;

    public int GetUID() {
        return uid;
    }

    public Shape() {
        maxUID ++;
        uid = maxUID;
    }
}

class Square : Shape {
    public Square() {
        uid++; //<- Error
    }
}

var square = new Square();
var uid = square.GetUID();
//uid is 1
uid = square.uid; //<- Error