我正在使用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类型。 关于如何解决这个问题的任何想法?
答案 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并在那里创建您的视图模型或根本不使用此模板。但我真的很喜欢这个模板,或者它至少看起来如此...所以非常感谢你提到它:)