Resolvi plagiar a idéia do camarada Hubão de fazer uma calculadora em 5 minutos,
ele fêz em Python, eu vou fazer uma semelhante a dele só que em C# usando Mono…
Ficam algumas observações:
A implementação da classe Evaluator do mono ainda não está concluída e tem alguns bugs… bem não sei se é bug mas ele não avalia expressões onde tem multiplicação no meio e também não descobri como faz pra retornar o resultado da operação como um Double em vez de int.
Na verdade essa classe não é um simples avaliador, é praticamente um compilador/interpretador de instruções que pode ser embutido no programa para avaliar instruções como se fossem scripts, inclusive alterando o valor de variáveis internas como no exemplo abaixo onde a avaliação da string altera o valor da variável do programa:
using Mono.CSharp;
using System.Reflection;
using System;
namespace CSharpEvalTest
{
public class Test
{
public static int val = 1000;
static void Main(string [] args)
{
Evaluator.Run(
"using System; using CSharpEvalTest;");
Evaluator.ReferenceAssembly(
Assembly.GetExecutingAssembly());
Evaluator.Run("Test.val = 120;");
Console.WriteLine("val is {0}", val);
}
}
}
fonte: http://codicesoftware.blogspot.com/2008/11/c-evaluator.html
vai demorar um pouco pra encontrar isso no .net da Microsoft, OpenSource Rox



hauahuaha … boa! Eu perdi mais tempo no glade do que no código! você foi o contrário!
Acabei implementando o método “sair” para não deixar o processo em aberto quando fechado no “X”, e o evento de calcular quando é apertado o enter!
Mas valeu! 5 minutos… Essa moda pega!