Suppose I have a .NET dll with class 'B' and function 'C'.
I then have a multithreaded .NET program that references the dll.
Each thread instances the class 'B' and calls the function 'C'. Upon instantiation the class 'B' allocates all of its own variables on the heap. These variables are used by the function 'C'.
Does this create a distinct instance of the class (i.e. is it safe to call function 'C' in each of the threads of the main program) or would I have to somehow dynamically load the DLL.
(In other words, does the .NET DLL behave like the Win32 LoadLibrary function (reference counting), where you have to give one dll different names and then load those, to create distinct instances.)