Avatar ·

¿Cómo crear una instancia de un objeto por su tipo (Type) en C#?

¡Hola a todos! Soy nuevo en C# y me encontré con un problema. Tengo una variable de tipo `Type`, por ejemplo, obtenida mediante `typeof(MyClass)` o desde una cadena con el nombre de la clase. Necesito crear dinámicamente un objeto de ese tipo, pero no sé cómo hacerlo. Aquí hay un ejemplo que no funciona: ```csharp Type myType = typeof(StringBuilder); var instance = new myType(); // Error: "myType" es una variable, no un tipo ``` Entiendo que en C# no se puede usar `new` con una variable de tipo `Type`. Busqué en Google y encontré menciones sobre `Activator.CreateInstance`, pero no lo entendí completamente. ¿Cómo crear un objeto correctamente si solo tengo un `Type`? Es importante que la solución funcione tanto para clases sin parámetros de constructor como para clases con parámetros. ¡Gracias de antemano! <<>>

Uso de Activator.CreateInstance

Para crear un objeto por tipo en C# se utiliza la clase Activator del namespace System. Esta es la forma más simple y común. Así es como se hace: