let’s say I have a class defined in an assembly with:
public class BaseClass
{
internal BaseClass()
{
}
}
And in another assembly, I would like to instanciate this class with :
BaseClass c = new BaseClass();
I get the CS0143 error.
Trying another way, I try to create a derived class of the first one :
public class DerivedClass : BaseClass
{
}
but same error.
The BaseClass is not sealed. How can I instantiate this class or a derived one? Of course, I can’t modify the BaseClass.
You’ll have to use reflection to get the internal constructor and invoke it:
Since the existence of the constructor is only discovered at run-time, this approach will break if the constructor of
BaseClassis changed or removed.