Wyobraź typ tak (C#):Jak uzyskać ogólną metodę zamkniętego rodzaju generycznego, mając otwartą metodę MethodInfo z otwartego typu ogólnego?
public interface IAmGeneric<T>
{
void SoAmI<T1>(T one, T1 two);
}
Biorąc mam otwarte generycznego MethodInfo
z otwartym generycznej wersji typu (IAmGeneric<>.SoAmI<>()
) i następującej tablicy
new[] { typeof(int), typeof(string) }'
szukam dobrze wykonanie i niezawodny sposób uzyskania zamkniętej wersji MethodInfo
w następujący sposób:
IAmGeneric<int>.SoAmI<string>()
UPDATE:
przez niezawodny Znaczy powinien obsługiwać przypadki, gdy metoda nie jest publiczna, ma kilkanaście przeciążeń, wykorzystuje rodzajowe argumentów typu bazowego, a nie tylko jego bezpośredni interfejs itd
Jeśli masz już 'MethodInfo' z interfejsu, dlaczego dbają o przeciążeniach i ogólnych argumentów typu bazowego? Rozwiązanie z @DarrenKopp to wszystko, czego potrzebujesz. –