F #: Как сопоставить шаблон со значением типа?

У меня есть функция, которая принимает общий параметр, и внутри нее мне нужно выполнить одну из двух функций в зависимости от типа параметра.

member this.Load<'T> _path =
    let hhType = typeof<HooHah>
    match typeof<'T> with
        | hhType -> this.LoadLikeCrazy<'T> _path
        | _ -> this.LoadWithPizzaz<'T> _path

.... где LoadLikeCrazy и LoadWithPizzaz возвращают 'T.

VS сообщает мне, что случай с подстановочными знаками никогда не будет выполнен, поскольку я, по-видимому, получаю тип универсального во время компиляции, а не фактический тип во время выполнения. Как мне это сделать?

9
задан MiloDC 28 April 2011 в 04:07
поделиться