I'd like to automagically execute some code before certain class constructor gets executed (to load some externall assmebly that class requires), all in C#, .NET 2.0
EDIT:
public class MyClass
{
ThisTypeFromExternalAssembly variable;
}
And what I really need is to have assembly loader that is 'attached' somehow to MyClass, to load externall assembly when it is needed. This must happen before constructor, but I would not like to need to call some Init()
before constructing MyClass()
object
You can use the static initialiser for the class:
static ClassName( )
{
}
This will be called before any instances of ClassName are constructed.
Given the update you would do:
public class MyClass
{
ThisTypeFromExternalAssembly variable;
static MyClass( )
{
InitialiseExternalLibrary( );
}
public MyClass( )
{
variable = new ThisTypeFromExternalAssembly( );
}
}
Could you use a static constructor for this?
class SimpleClass
{
// Static constructor
static SimpleClass()
{
//...
}
}
From the MSDN article:
A static constructor is used to initialize any static data, or to perform a particular action that needs performed once only. It is called automatically before the first instance is created or any static members are referenced.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With