According to an answer for Why are we not allowed to specify a constructor in an interface?,
Because an interface describes behaviour. Constructors aren't behaviour. How an object is built is an implementation detail.
If interface
describes behavior, why does interface
allow declaring state?
public interface IStateBag
{
object State { get; }
}