12
If you're talking about generic constraints, yes:
class SomeContainer<T> where T : new() {
...
}
If you're talking about inheritance. It is not possible to require that every class that implements your interface or inherits your base class has a parameterless constructor.
The best you can do is use reflection in your base constructor to throw an exception (at runtime), like this:
abstract class MyBase {
protected MyBase() {
if (GetType().GetConstructor(Type.EmptyTypes) == null)
throw new InvalidProgramException();
}
}
If you're talking about a single class, yes; just put one in.