An alternative would be to nominate the calling assembly as a “friend” assembly.
Simply add this to AssemblyInfo.cs file of the assembly containing the internal constructor:
[assembly: InternalsVisibleTo("Calling.Assembly")]
If you don’t have access to the assembly, you can also call the constructor directly (using Reflection):
MyClass obj = (MyClass) typeof(MyClass).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Instance,
null, Type.EmptyTypes, null).Invoke(null);