Windows Phone上的F#引用

时间:2012-05-07 17:22:33

标签: silverlight f# windows-phone

我正在使用Daniel Mohl的F#模板用于Windows手机,但似乎捆绑的FSharp.Core没有一些引用代码。我正在尝试从常规.NET中移植此代码:

open System.ComponentModel
open Microsoft.FSharp.Quotations
open Microsoft.FSharp.Quotations.Patterns

[<AbstractClass>]
type ViewModelBase() =

    let propertyChanged = new Event<_, _>()

    let toPropName expr =
        match expr with
        | PropertyGet(a, b, list) -> b.Name
        | _ -> failwith "Unsupported: " + expr.ToString()

    interface INotifyPropertyChanged with
        [<CLIEvent>]
        member x.PropertyChanged = propertyChanged.Publish

    member x.NotityPropertyChanged expr =
        propertyChanged.Trigger(x, new PropertyChangedEventArgs(toPropName expr))

但编译器抱怨Microsoft.FSharp.Quotations.Patterns和PropertyGet。它似乎甚至不知道Expr类型。 关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:2)

我用WindowsPhone7 \ Silverlight \ 4.0 \ bin文件夹中F# April 2011 CTP附带的FSharp.Core文件替换了模板中的FSharp.Core文件,现在它编译好了

答案 1 :(得分:1)

我已经比较了你提到过的模板中的FSharp.Core.dll和你用.Net Reflector创建F#Silverlight库时引用的那些FSharp.Core.dll,它们是不同的! :)添加到模板的依赖项文件夹的Thouse一个没有引号。

所以我的前两个想法是添加F#SCL并在那里创建您的视图模型或根本不使用此模板。但我真的很喜欢这个模板,或者它至少看起来如此...所以非常感谢你提到它:)