this line is causing you the issue: private Children sourceList = new Children(Surname);
The reason is that field initializers are limited in what they can access, the c# spec states that they can't reference the instance that's being created, so you can' access Surname in a field declaration.
You can set your properties in the constructor