public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public Func<string, int, ICollection<string>> TheFunc { get; set; }
}
Error: "El argumento 2 no se debe pasar con la palabra clave 'out'."C# - ¿Cómo puedo pasar una referencia a una función que requiere una variable de salida?
public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public Func<string, out int, ICollection<string>> TheFunc { get; set; }
}
Error: "modificador de varianza no válida Sólo los parámetros de tipo de interfaz y delegadas se pueden especificar como variante."
¿Cómo obtengo un parámetro de salida en esta función?
ver http://stackoverflow.com/questions/1365689/cannot-use-ref-or -out-parameter-in-lambda-expressions para algunos detalles – shelleybutterfly
FYI la regla más general aquí es que * un argumento de tipo debe ser un tipo que sea convertible a objeto *. "out int" no es convertible a objeto; no puede convertir "referencia a una variable int" al objeto. –