ReactiveUI ma metod z signitures jakJak przekazać LINQ wyrażeń z F # do kodu C#
public static ReactiveUI.ObservableAsPropertyHelper<TRet>
ObservableToProperty<TObj, TRet>(
this TObj This,
System.IObservable<TRet> observable,
System.Linq.Expressions.Expression<System.Func<TObj, TRet>> property,
TRet initialValue = null,
System.Reactive.Concurrency.IScheduler scheduler = null
)
w F # W jaki sposób skonstruować obiekt jak
System.Linq.Expressions.Expression<System.Func<TObj, TRet>> property,
W języku C# Chciałbym zrobić coś takiego
this.ObservableAsPropertyHelper(
observable,
me => me.MyProperty
)
EDIT
Próbowałem
m.ObservableToProperty(this, value, fun me -> me.Property)
i
m.ObservableToProperty(this,
value,
new Linq.Expression.Expression(fun me -> me.Property)
ale ani pracy
Tried to, ale mam wynik typu "LinqExpression" zamiast „LinqExpression > " –
bradgonesurfing
@bradgonesurfing http://msdn.microsoft.com/en-us/library/bb335710.aspx, w szczególności" Użyj metody Lambda (Wyrażenie, IEnumerable ) lub Lambda (Expression, ParameterExpression []) aby utworzyć obiekt Wyrażenie ". –
Wygląda na to, że ['QuotationToLambdaExpression'] (http://msdn.microsoft.com/en-us/library/hh324072.aspx) jest sposobem na to w F # 3.0. – Daniel