-
Notifications
You must be signed in to change notification settings - Fork 0
Hospedagem
Ricardo Borges edited this page Apr 17, 2014
·
1 revision
Para executar código NPortugol dentro da sua aplicação .NET você precisará instanciar o Motor:
var motor = new Motor();
motor.Compilar("função principal() fim");
motor.Executar(); // Função principal.
ou
motor.Compilar("função soma(a, b) retorne a + b fim");
var resultado = motor.Executar("soma", 2, 2);
###Interoperabilidade###
As opções de métodos para registro de funções são:
void Registar(string name, Func<object[], object> handler);
void Registar(string name, IHostFunction hostFunction);
A primeira sobrecarga permite a sintaxe de Lambda Expression para mapear um método C#.
motor.Hospedagem.Registrar("data", x => DateTime.Now.ToShortDateString());
A segunda sobrecarga permite a definição em uma classe separada.
motor.Hospedagem.Registrar("data", new Data());
...
public class Data: IFuncaoHospedada
{
public object Execute(params object[] parameters)
{
return DateTime.Now.ToShortDateString();
}
}