I-Verfahren mit Expression aufrufen, die in der Tabelle letzten Datensatz zurück:Anruf metthod mit Expression durch Reflexion
public T FindLast<TKey>(Expression<Func<T,TKey>> specification = null)
{
return specification == null
? Set().LastOrDefault()
: Set().OrderBy(specification).LastOrDefault();
}
durch Reflexion
var methodCreateReadRepositoryAttr = (entityMetadata.GetEntityAttributeType() != null) ?
typeof(IRepositoryFactory).GetMethod("CreateReadRepository").MakeGenericMethod(entityMetadata.GetEntityAttributeType()) : null;
var methodEntityGet3 = attributeReadRepository.GetType().GetMethod("FindLast");
var closedGenericMethod = methodEntity3.MakeGenericMethod(new Type[] { typeof(Expression<Func<ArticleAttribute,int>>) };
Expression <Func<ArticleAttribute, int>> articleReturnExpression = e => e.ArticleAttributeID;
var fromRepo3 = closedGenericMethod.Invoke(attributeReadRepository, new object[] {articleReturnExpression});
In der letzten Zeile habe ich Fehlermeldung
Objekt vom Typ 'System.Linq.Expressions.Expression
1[System.Func
2 [RRP.Framework.Domain.Entities.ArticleAttribute, System.I nt32]] 'kann nicht in den Typ' System.Linq.Expressions.Expression1[System.Func
2 [RRP.Framework.Domain.Entities.ArticleAttribute, System.Linq.Expressions.Expression1[System.Func
2 [RRP.Framework.Domain.Entities.ArticleAttribute] konvertiert werden. System.Int32]]]] '.
sein Wie aus https://stackoverflow.com/questions/40737230/call-generic-method-with-expression-through-reflection dies anders ist? –
Dies ist das nächste Problem, dass apear. Es tut uns leid! –
Bitte geben Sie eine [mcve] an, damit Sie eine Antwort erhalten, die wir * zeigen * können. Es hilft niemandem, ein kleines Problem zu einem Zeitpunkt zu lösen, wenn wir mit einem vollständigen Beispiel eine vollständige Lösung geben können. –