I want a subclass to use its parent's constructors. But it seems I always need to define them again in the subclass in order for that to work, like so:
public SubClass(int x, int y) : base (x, y) {
//no code here
}
So I'm wondering if I'm not declaring the constructor properly in the parent class, or is there no direct constructor inheritance at all?
You are not doing anything wrong.
In C#, instance constructors do not get inherited, so declaring them on the inheriting type and chaining to the base constructor is the right way about it.
From the spec §1.6.7.1: