В тупик с ООП интерфейсом F # вопрос.
Пример - когда я создаю класс и пытаюсь реализовать один метод Run (строка, строка, строка) из примера пространства имен из интерфейса IRunner
Я вижу в .NET Reflector то, что действительно создается, это частный метод с именем Example-IRunner-Run (строка, строка, строка). Если я затем хочу представить это обратно в C # lib, это создает проблему. Через рефлексию - код, который я не контролирую, просто ищет класс с открытым методом Run. Как мне решить? Кажется, не могу найти никакой документации по этому вопросу.
Проблема 1 - Выполнение должно быть общедоступным, так как оно становится приватным
Проблема 2 - сумасшедшее длинное имя метода - вместо просто Run
Не уверен, нужно ли мне использовать некоторые ключевые слова-модификаторы или файл подписи ... просто не только с чего начать с (1) приватного и (2) странного имени метода (рефлексия не найдет)
примечание: в этом примере Run возвращает int
В этой текущей реализации я просто пытаюсь вернуть 1 в «доказательство концепции», что я могу сделать эту простую вещь в F #
пример кода:
namespace MyRunnerLib
open Example
type MyRunner() = class
interface IRunner with
member this.Run(s1, s2, s3) = 1
end