Tengo un requisito donde el tipo de objeto [nombre del objeto] se pasa como una variable de cadena. Ahora, basándome en el nombre del objeto pasado, necesito crear ese tipo de objeto. Tenga en cuenta que el valor de la cadena contiene el nombre exacto del tipo de objeto. He escrito un fragmento de código pero arroja una excepción.Convierta un objeto en un tipo basado en el valor de cadena pasado en C#
por ejemplo -
string objectName = "EntityTest.Entity.OrderEntity";//Entity type name
object obj = new object();
object newobj = new object();
newobj = Convert.ChangeType(obj, Type.GetType(objectName));
hago esto me sale error ->Object must implement IConvertible.
Mi entidad OrderEntity
ya ha implementado la interfaz IConvertible
.
Cualquier ayuda/sugerencia es muy apreciada. ¿Hay alguna otra forma en que pueda crear el objeto para cumplir con mi requisito?
esto es genial, pero ¿cómo podemos pasar el valor al nuevo objeto generado? –
@HamedZakeryMiab: ¿Quiere decir que quiere llamar a un constructor parametrizado? Puede llamar a 'type.GetConstructors()', encontrar el constructor correcto e invocarlo, o usar una de las sobrecargas para 'Activator.CreateInstance' que le permite especificar argumentos. Pruébalos y si tienes problemas, comienza una nueva pregunta. –