Hi Egbert,
As Armin has said, you can use the System.Activator.CreateInstance methods
to create an instance, but be aware that this pseudo-code:
Dim MyClassName as String = "MyClass"
Dim MyObject as New MyClasses(MyClassName)
is not very robust. If the name of the type "MyClass" changes and you don´t
update that string, your code will fail at run-time. A more common approach
is to create the instance from the type:
System.Activator.CreateInstance(type), and you can get the type through
several ways. For example, you can get the types of an assembly with
Assembly.GetTypes, or only the public types with Assembly.GetExportedTypes.
You can examine some properties (the bases or implemented interfaces) of the
type to guess which ones you want to create instances from. This is quite
common when creating plug-in frameworks.
Bottom line: if you know what you are doing, OK, but if not you can think
about the above.
--
Best regards,
Carlos J. Quintero
MZ-Tools: Productivity add-ins for Visual Studio
You can code, design and document much faster:
http://www.mztools.com
"Bert" <
[email protected]> escribió en el mensaje
Hi,
I want to create an instance of a class by means of the classname. Can't
figure out how.
in pseudocode this would look like:
Dim MyClassName as String = "MyClass"
Dim MyObject as New MyClasses(MyClassName)
Thanks for your help,
Egbert