3

私はWindowsPhone用にDanielMohlのF#テンプレートを使用していますが、バンドルされている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タイプすら知らないようです。これを解決する方法について何かアイデアはありますか?

4

2 に答える 2

2

テンプレートに含まれるFSharp.Coreファイルを、WindowsPhone7 \ Silverlight \ 4.0 \ binフォルダーのF#2011年4月CTPに含まれるファイルに置き換えました。このバージョンでは、正常にコンパイルされるようになりました。

于 2012-05-11T20:43:35.980 に答える
1

あなたが言及したテンプレートのFSharp.Core.dllと、.Net Reflectorを使用してF#Silverlightライブラリを作成した場合に参照されるものを比較しましたが、それらは異なります。:)テンプレートの依存関係フォルダに追加したThouseには引用符がありません。

したがって、最初の2つの考えは、F#SCLを追加してそこにビューモデルを作成するか、このテンプレートをまったく使用しないことです。しかし、私は実際にこのテンプレートまたはそれが少なくともどのように見えるかが好きです...それでとにかくそれについて言及してくれてありがとう:)

于 2012-05-10T11:57:59.083 に答える