Да; это нормально. За исключением инициализаторов полей, код должен быть в методе. Это не инициализатор поля.
Либо присвойте a=1;
в производном конструкторе, либо создайте перегруженный конструктор и передайте 1
конструктору базового типа.
Так что либо:
public test() {
a = 1;
}
Или:
protected Class1(int a) {
this.a = a;
}
...
public test() : base(1)
{}