C # до F # Преобразовать устройство общего размера: marshalbyrefobject
Вопрос
public partial class Device : MarshalByRefObject
{
internal bool FindTagName(string name, OneTag tag)
{
foreach (FuncSect fs in listFuncSect)
{
foreach (OneTag ot in fs.listTags)
{
if (ot != tag && ot.Name == name) return true;
}
}
return false;
}
До сих пор не имею, как преобразовать этот «частичный» и «внутренний» на F #
благодарю вас
Решение
Как говорит Леппи, нет прямой поддержки для partial
, хотя вы могли бы достичь аналогичного эффекта с внутренние расширения типа. Отказ F # поддерживает поддержку internal
Методы, так что ваш пример будет выглядеть так:
// primary definition somewhere
type Device() =
inherit MarshalByRefObject()
...
// type extension (roughly equivalent to partial class)
type Device with
member internal this.FindTagName(name:string, tag:OneTag) =
listFuncSect
|> Seq.exists
(fun fs ->
fs.listTags
|> Seq.exists (fun ot -> ot <> tag && ot.name = name))
Другие советы
partial
Это функция компилятора C #, она не будет работать на F #, вам придется объединить все частичные классы или наследовать из существующего.
Не связан с StackOverflow