2012-05-07 50 views
3

我正在使用Daniel Mohl的F#模板進行Windows手機,但似乎捆綁的FSharp.Core沒有一些報價代碼。我想這個端口的代碼定期.NET:Windows Phone上的F#報價

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類型。 關於如何解決這個問題的任何想法?

+1

我知道這不是一個答案,但文檔說這應該從Silverlight 3支持,所以這看起來好像它可能是一個錯誤。您可能希望將它發送到microsoft dot com的fsbugs並查看它們具有何種響應。 –

回答

2

我更換了由來自在F# April 2011 CTP在一個自帶的模板FSharp.Core文件WindowsPhone7 \ Silverlight \ 4.0 \ bin文件夾,現在編譯好了這個版本

1

我比較了你提到的Template和那些被引用的FSharp.Core.dll,如果你使用.Net Reflector創建一個F#Silverlight庫,它們是不同的! :)添加到模板的依賴關係文件夾中的Thouse沒有報價。

因此,我的第一個想法是添加F#SCL並創建您的視圖模型,或根本不使用此模板。但其實我喜歡這個模板或者它的外觀,至少...所以感謝你的反正提到它:)