c# - llamar funcion javascript desde html href
¿Cómo llamar a la función anónima en C#? (2)
A continuación, le explicamos cómo puede utilizar dicha construcción para encerrar el contexto
Control.Click += new Func<string, EventHandler>((x) =>
new System.EventHandler(delegate(object sender, EventArgs e)
{
}))(valueForX);
Me interesa si es posible usar C # para escribir un código análogo a este Javascript:
var v = (function()
{
return "some value";
})()
Lo más que pude lograr es:
Func<string> vf = () =>
{
return "some value";
};
var v = vf();
Pero quería algo como esto:
// Gives error CS0149: Method name expected
var v = (() =>
{
return "some value";
})();
¿Hay alguna forma de llamar a la función dejándola anónima?
Sí, pero C # es de tipo estático, por lo que debe especificar un tipo de delegado.
Por ejemplo, usando la sintaxis del constructor:
var v = new Func<string>(() =>
{
return "some value";
})();
// shorter version
var v = new Func<string>(() => "some value")();
... o la sintaxis de conversión, que puede ensuciarse con demasiados paréntesis :)
var v = ((Func<string>) (() =>
{
return "some value";
}))();
// shorter version
var v = ((Func<string>)(() => "some value"))();