C # Convertir cadena a operador

Quiero convertir cadena a operador en c #

**string type = "+"; int d = 22; int c = 33; int total; total = d + type + c;** 

Como hacer eso ?

Saludos,

No se puede convertir una cadena en un “operador”. Un operador se define para sus operandos y realmente no tiene sentido convertir una cadena en un operador si no sabe cuáles son sus operandos.

Suponiendo que sabes qué operandos tienes, el problema ya no es un problema de “conversión”, sino que en realidad estás intentando construir un motor de análisis. Este es un problema de considerable dificultad. A menos que esté intentando crear su propio lenguaje de scripting o algo de esta naturaleza, probablemente sea más fácil usar una tabla de búsqueda, y cada elemento de la tabla hace referencia a algún método que se puede ejecutar en los operandos.

En C # es posible implementar una estructura de datos de este tipo mediante una simple instrucción de switch (por supuesto, puede hacer esto tan elegante como desee hasta el infinito, pero esta es la solución más simple).

 switch( type ) { case "+": return plusOperator(d, c); case "-": return minusOperator(d, c); } 

Luego, definiría métodos adecuados, como plusOperator y minusOperator para implementar realmente la lógica de su progtwig.

Esta solución está razonablemente sucia ya que está codificando ciertos comportamientos, pero en realidad si desea mucho más que esto en términos de una buena architecture del sistema, se convierte en un problema de análisis. Si sigue este camino, los patrones de diseño de Gang of Four resultarán en un buen material de referencia (especialmente los patrones como el intérprete, el iterador y el compuesto)