lundi 9 mai 2016

How to read value of property depending on an argument

How can I get the value of a property given a string argument.

I have a Object CsvProvider.Row which has attributes a,b,c. I want to get the attribute value depending on property given as a string argument. I tried something like this:

let getValue (tuple, name: string) =
    snd tuple |> Seq.averageBy (fun (y: CsvProvider<"s.csv">.Row) -> y.```name```)

but it gives me the following error:

Unexpected reserved keyword in lambda expression. Expected incomplete structured construct at or before this point or other token.

Simple invocation of function should look like this:

getValue(tuple, "a")

and it should be equivalent to the following function:

let getValue (tuple) =
        snd tuple |> Seq.averageBy (fun (y: CsvProvider<"s.csv">.Row) -> y.a)

Is something like this is even possible?

Thanks for any help!





Aucun commentaire:

Enregistrer un commentaire