public void Method1() { lock (lockRoot) { UnManagedStaticClass.Settings = ...; UnManagedStaticClass.Method1(); } }
public void Method1() { lock (lockRoot) { InitializeIfNecessary(); UnManagedStaticClass.Method1(); } }
private void InitializeIfNecessary() { if (currentOwnerInstance != this) { currentOwnerInstance = this; UnManagedStaticClass.Initialize(initParameters); UnManagedStaticClass.Settings = settings; } }
public MyWrapper(InitParameters p) { lock (lockRoot) { if (!initialized) { UnManagedStaticClass.Initialize(p); initialized = true; } } }
static Test() { UnManagedStaticClass.Initialize(); UnManagedStaticClass.Settings = ...; }
public void Method1() { UnManagedStaticClass.Method1(); }
static MyWrapper() { UnManagedStaticClass.Initialize(); }
static Test() { UnManagedStaticClass.Initialize(); }
static MyWrapper() { UnManagedStaticClass.Initialize(); UnManagedStaticClass.Settings = ...; }