ich zwei Ausdrücke für den endgültigen Ausdruck Concat wollenLINQ Expression Konvertierung/Concat von Int String
Expression<Func<T, string>>
So habe ich erstellt Ausdruck Belwo Code gut für nur String-Typen funktioniert, wenn ich Member als Int32 erhalten oder Datetime werfen Ausnahme
Expression des Typs 'System.Int32' kann nicht für Parameter vom Typ 'System.String' der Methode 'System.String Concat (System.String, System.String)'
verwendet werden, wenn ich Konvertieren Sie den Ausdruck als
var conversion = Expression.Convert(memberExpression, typeof (string));
getting Zwischen den Typen 'System.Int32' und 'System.String' ist kein Zwangsoperator definiert.
Bitte helfen Sie mir
-Code
MethodInfo bodyContactMethod = typeof (string).GetMethod("Concat",new[] {typeof (string), typeof (string)});
ParameterExpression parameter = Expression.Parameter(typeof (T));
body = Expression.Call(bodyContactMethod, cons, memberExpression);
return Expression.Lambda<Func<T, string>>(body, parameter);
Warum ändern Sie nicht Ihre Methodensignatur, um ein "Objekt" zu nehmen und rufen Sie einfach .ToString() für alles auf. –
Ausdruck> –
Hallo, ich benutze diesen Ausdruck in GroupBy, also brauche ich es in obigem Format –