Я пытаюсь перевести код C# на F #.
Но с ошибкой.
Вот код C# с болт. Поз. LINQ Reduces Line Counts and Makes Code “Pop”Как сбросить obj в xml в F #
Речь идет о FP.
я перевести его на
#r "System.Core.dll"
#r "System.Xml.Linq.dll"
open System
open System.Reflection
open System.Collections
open System.Collections.Generic
open System.Xml.Linq
let (|V|S|A|O|) o =
if o.GetType().IsValueType then V
elif o.GetType()=typeof<string> then S
elif o.GetType().IsArray then A
else O
let rec obj2xml r o =
match o with
| V | S -> new XElement(r, o)
| A -> o |> Array.map (fun z -> obj2xml r z)
| O -> new XElement(r, o.GetType().GetProperties() |> Array.map (fun z -> obj2xml (z.Name) (z.GetValue(o, null))))
| V | S -> новый XElement (r, o) возвращение a XElement
| A -> o |> Array.map (fun z -> obj2xml r z) return a Array
Я не мог понять это!
Я еще не получил его!
Помогите мне пожалуйста!
«Это не работает» не приведет вас к тому, чтобы вы были очень далеко. –
Что именно означает «не работает»? Вы имеете в виду, что это неправильная функция или что она не компилируется/не создается? – ChrisBD