¿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: