No, it is not possible to instantiate an interface.
How should .NET (or, rather, the Activator.CreateInstance method) decide which implementation of this interface it should create?
You can not:
IList<int> l = new IList<int>();
is not it? You simply cannot instantiate an interface, because an interface is just a definition or contract that describes what kind of functionality a type should implement.
Frederik gheysels
source share