Naprawdę niemożliwe jest użycie przeciążenia typu powrotu?
Zrobiłem małą bibliotekę DLL w MSIL dwiema metodami:
float AddNumbers(int, int)
int AddNumbers(int, int)
Jak niektórzy z was wiedzą, MSIL pozwala tworzyć metody, które mają te same argumenty, o ile istnieją różne rodzaje typów zwracanych (nazywane przeciążaniem typu zwracanego). Teraz, gdy próbowałem go użyć z c #, jak się spodziewałem, wystąpił błąd:
float f = ILasm1.MainClass.AddNumbers(1, 2);
Błąd jest:
Wywołanie jest niejednoznaczne między następującymi metodami lub właściwościami: 'ILasm1.MainClass.AddNumbers (int, int)' i 'ILasm1.MainClass.AddNumbers (int, int)'
Czy c # nie jest w stanie odróżnić różnych typów zwracanych? Wiem, że nie mogę zaprogramować metod, które różnią się tylko różnymi typami powrotu, ale zawsze zakładałem, że będzie wiedział, jak sobie z tym poradzić.