take a look at this example code:
public class Comment { private Comment() { } public Comment(string text, DateTime creationDate, string authorE
I think, you should not call it in the constructor. You can provide a method Initialize() which you can call after constructing the object.
In Initialize() you can call the required virtual methods