public abstract class ParentClass
protected abstract ParentField Field {get;}
public class ChildClass : ParentClass
public ChildClass(ChildField field) => Field = field;
protected override ChildField Field {get;}
public class ParentField{}
public class ChildField : ParentField{}
public static void Main()
var child = new ChildClass(new ChildField());