public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public Func<string, int, ICollection<string>> TheFunc { get; set; }
}
Błąd: "Argumentu 2 nie należy przekazywać ze słowem kluczowym" out "."C# - Jak mogę przekazać odwołanie do funkcji, która wymaga zmiennej out?
public class Foo
{
public void DoFoo()
{
int x;
var coll = TheFunc("bar", out x);
}
public Func<string, out int, ICollection<string>> TheFunc { get; set; }
}
Błąd: „Nieprawidłowy wariancji modyfikator tylko parametry typu interfejsu i pełnomocnik może być określony jako wariant”.
Jak uzyskać parametr out w tej funkcji?
widzieć http://stackoverflow.com/questions/1365689/cannot-use-ref-or -out-parameter-in-lambda-expressions dla niektórych szczegółów – shelleybutterfly
FYI tym bardziej ogólną zasadą jest to, że * argument typu musi być typem, który można przekształcić w obiekt *. "out int" nie jest wymienialne na obiekt; nie można przekonwertować "do zmiennej int" na obiekt. –