Первая часть: вызов F# из F#
Допустим, у нас есть следующий тип, определенный в F#:
type MyClass =
static member Overload1 (x, y) = "Pim"
static member Overload1 (x : System.Tuple<_, _>) = "Pam"
static member Overload1 x = "Pum"
Теперь вы находитесь в другом модуле (в другом файле).
Как вы можете вызвать каждый из трех методов, показанных выше?
Вторая часть: вызов C# из F#
Теперь вы определяете класс в C#:
public class MyClass {
public static string Overload1<a, b>(a x, b y) { return "Pim"; }
public static string Overload1<a, b>(Tuple<a, b> x) { return "Pam"; }
public static string Overload1<a>(a x) { return "Pum"; }
}
Как из кода F# вызвать каждый из трех методов, определенных в C#?