| P.Call(_, mi, [P.Value(value, _); P.PropertyGet(q, propInfo, [])]) -> ...
Как бы я использовал метод GetValue
, чтобы получить значение для propInfo
?
РЕДАКТИРОВАТЬ
На основе @StephenПредложение Свенсена, которое я пытался сделать:
| P.Call(_, mi, [P.Value(value, _); P.PropertyGet(q, pi, [])]) ->
match q.Value with
| P.PropertyGet(_, pi2, []) -> printfn "%A" <| pi.GetValue(pi2, null)
| _ -> failwith "fail"
Однако оно просто выдает исключение:
TargetException не обработано: объект не соответствует типу цели.
Значение pi2
во время выполнения: Some({PropertyGet (None, Author r, [])})
РЕДАКТИРОВАТЬ
Бах ... не заметил, что pi2
статическое.
Решение:
| P.Call(_, mi, [P.Value(value, _); P.PropertyGet(q, pi, [])]) ->
match q.Value with
| P.PropertyGet(_, pi2, []) ->
let getObj = pi2.GetValue(null, null)
printfn "%A" <| pi.GetValue(getObj, null)
| _ -> failwith "fail"