A default constructor has no parameters. And nor does a constructor that you write with no parameters. So what is the ultimate difference in c#?
Added to this when you inherit a default constructor and a parameterless constructor are they exposed on the inheritting type exactly the same? Because my IOC container doesn’t seem to think so. (Unity).
Cheers,
Pete
The “default” constructor is added by the C# compiler if your class does not contain an explicit instance constructor. It is a public, parameterless constructor. If you have created an explicit non-public, parameterless constructor, Unity will not be able to use it in the same way it would have used a public constructor (regardless of whether this was generated by the compiler, and regardless of whether it had parameters).