Próbuję napisać ogólny sposób, który dostarcza parametry i wywołuje funkcję, na przykład:C# typ grupy metoda wnioskowania
class MyClass {
public int Method(float arg) => 0;
}
TResult Call<T1, TResult>(Func<T1, TResult> func) =>
func(default(T1));
void Main()
{
var m = new MyClass();
var r1 = Call<float, int>(m.Method);
var r2 = Call(m.Method); // CS0411
}
Ostatnia linia nie skompilować z CS0411. Czy istnieje jakiś sposób obejścia tego procesu?
Przykład użycia: użycie AutoFixture do wygenerowania parametrów wywołania funkcji.
Nie sądzę, że to możliwe. – mrahhal
Powiązane (?): Http://stackoverflow.com/a/9331879/3225495 –
Nie jest powiązane, w jego przypadku dwa typy są niezależne i oba są podawane przez uchwyt metody. C# może teoretycznie w pełni wywnioskować poprawne ogólne argumenty. Standard nie wymaga tego ze względu na złożoność. – Blindy