3
Ich bin nicht sicher, wie genau Argument, was ich versuche also zu erreichen, - schrieb einigen Code:Umwandlung von Linq-Ausdrücke
public class Foo{
public Bar Bar{get;set;}
}
public class Bar{
public string Fizz{get;set;}
}
public class Facts{
[Fact]
public void fact(){
Assert.Equal(expectedExp(),barToFoo(barExp()));
}
private Expression<Func<Foo,bool>> expectedExp(){
return f=>f.Bar.Fizz=="fizz";
}
private Expression<Func<Bar,bool>> barExp(){
return b=>b.Fizz=="fizz";
}
private Expression<Func<Foo,bool>> barToFoo
(Expression<Func<Bar,bool>> barExp){
return Voodoo(barExp); //<-------------------------------------------???
}
}
Ist das überhaupt möglich?
Und ohne kompilieren? –
w/o kompilieren: siehe meine Bearbeitung, ... BTW: nette Frage. – ulrichb
'Assert.Equal (expectedExp(), BarToFoo (barExpr));' == 'Erwartet: f => (f.Bar.Fizz ==" fizz "); Actual: foo => Aufrufen (b => (b.Fizz == "fizz"), Aufrufen (foo => foo.Bar, foo)) '. Nicht wirklich, wonach ich suche (brauche es nicht mehr, aber es würde mir Spaß machen, das herauszufinden). –