Example:
class Program { static void Main(string[] args) { var myClass = Activator.CreateInstance(typeof(MyClass)); } } public class MyClass { internal MyClass() { } }
Exception:
System.MissingMethodException
No parameterless constructor defined for this object.
Solution:
var myClass = Activator.CreateInstance(typeof(MyClass), nonPublic:true);
I cannot understand, why I cannot create an instance inside the assembly with internal constructor. This constructor should be available inside the execution assembly. It should work like public for this assembly.