Can an abstract class constructor instantiate a new object?

I have a group of services that get injected into my controllers. Can my abstract class constructor instantiate new instances of commonly used objects?

public class ReportService : AReportService, IReportService
{
    private readonly IMyService _myservice;
    public ReportService(IMyService myService) : base ()
    {
        _myservice = myService;
    }

    public void MyMethodForThisService(string someProperty)
    {
        _parentService.DoSomething(someProperty);
    }
}

public abstract class AReportService
{
    protected readonly ParentService _parentService;
    protected AReportService()
    {
        _parentService = new ParentService();
    }

    protected void MyFirstSharedMethodForAllServices(string someProperty)
    {
        _parentService.DoSomethingElse(someProperty);
    }
}
Jon Skeet
people
quotationmark

Can my abstract class constructor instantiate new instances of commonly used objects?

Absolutely. The constructor for an abstract class can do basically anything a normal constructor can. The only restriction is that you can only call the constructor as part of chaining from another constructor.

people

See more on this question at Stackoverflow