from the same mail:
"the canonical constructor should follow the same rule as the default 
constructor".

This isn't an obviously terrible idea, but it's also not a very important distinction, because the difference isn't observable -- if the class isn't accessible to the caller, they still can't invoke the constructor.  And it does have additional complexity, and leaves users in a position of guessing what the accessibility should be if they implement the methods explicitly.  Do you have a reason for preferring this additional complexity, other than "for consistency"?  (And why would we do it differently for the constructor than for the accessors?  That's just pure accidental complexity.)

and you have not answer to:
Also why having the constructor public helps to make the record instantiatable, 
a constructor to be accessible by reflection requires that both the class and 
the constructor to be public. So following your point, does it means that all 
record have to be public too ?

You're still not being very clear, but it sounds like this was answered in the paragraph above?

Reply via email to