Rozwiązany: IntelliSense po prostu nie wyświetla rozszerzenia!Nie można połączyć się z rozszerzeniem F # w VB.Net
Powiedzmy mamy następującą metodę rozszerzenia w F #:
[<Extension>]
module Extension =
[<Extension>]
let Increment(value : System.Int32) = value + 1
W języku C# można nazwać go jak w ten sposób:
x.Increment(); //Result x=1
Ale odpowiednikiem kodu VB to zwraca błąd , nie znajduje metody rozszerzenia dla typu integer:
x.Increment() 'No method called "Increment()" for type Int32
While to możliwe, aby wywołać metodę przez standardowy sposób:
Increment(x) 'Works
Więc gdzie jest różnica między VB obsługi i C# na wywołanie kodu F #, dlaczego nie jest to środowisko VB stanie rozwiązać metody rozszerzenie?
W jaki sposób zadeklarowano 'x' (po stronie VB)? –
Próbowałem: Dim x jako Integer/Int32 lub Just Dim x = 0I, wszystkie trzy sposoby nie działały dla mnie –
Czy masz odpowiednią deklarację "Imports" w zakresie? –