Sto cercando la possibilità di convertire interi metodi in alberi di espressione. Scriverlo farebbe schifo. :)Cerca C# => Compilatore Linq Expression
So (esempio banale) dato testo:
public static int Add(int a, int b)
{
return a + b;
}
Voglio ottenere sia oggetto in memoria rappresenta questo oppure seguente:
ParameterExpression a = Expression.Parameter(typeof(int), "a");
ParameterExpression b = Expression.Parameter(typeof(int), "b");
var expectedExpression = Expression.Lambda<Func<int, int, int>>(
Expression.Add(a,b),
a,
b
);
Qualsiasi idee? Qualcuno ha forse fatto qualcosa con Roslyn che può farlo?
MODIFICA: Chiarimento: voglio succhiare in qualsiasi metodo C# (ad esempio, quello sopra) come testo e produrre un'espressione risultante. Fondamentalmente sto cercando di compilare qualsiasi dato metodo C# negli alberi di espressione.
Ho pensato che Roslyn potesse farlo. Conosci qualche fonte esistente che l'ha già fatto? Sto cercando qualcosa disponibile. – Shlomo
Roslyn è fuori solo per un mese, penso che ci vorrà un po 'perché le persone scriveranno e sperimenteranno con esso. Ma potreste avere qualcosa su code plex per il compilatore di espressioni usando l'ironia, ecc. Credo che in qualche momento le persone pubblicheranno progetti su code plex per Roslyn o ne potremo avviarne uno e chiedere alle persone di contribuire e da lì in poi si costruiranno. –