Передавая список из C # в F #, как указать параметр списка? - PullRequest
1 голос
/ 17 мая 2019

Со следующим кодом C #

var MyList = new List<MyClass>();
SomeFSharpFunc(MyList);

на стороне F #:

let SomeFSharpFunc (MyList: ???What do I put here so I know it's a list) =

Я не знаю, как выразить, что входящий параметр является списком.

Кроме того, мне нужно продублировать класс C # как тип F #?

1 Ответ

4 голосов
/ 17 мая 2019

Вы можете просто использовать

open System

let SomeFSharpFunc (MyList: System.Collections.Generic.List<MyClass>) = ...

, но вы должны рассмотреть возможность использования seq<MyClass> вместо (что эквивалентно IEnumerable<MyClass>), если вам не нужна полная мощность System.Collections.Generic.List, тем более что в F # «список» обычно относится к совершенно другой структуре данных .

См. Также Преобразование между списком C # и списком F # .

Кроме того, нужно ли мне дублировать класс C # как тип F #?

Нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...