Вы должны будете сделать вызов, используя Type.GetMethod()
, чтобы получить метод, и MethodInfo.MakeGenericMethod()
, чтобы установить его с нужными типами, прежде чем использовать MethodInfo.Invoke()
для вызова метода.
var idPropertyType = currentEntityProperty.PropertyType.GetProperty("Id").PropertyType;
var entityPropertyType = currentEntityProperty.PropertyType;
var method = this.GetType().GetMethod("UpdateAllProperties",
BindingFlags.Instance | BindingFlags.NonPublic);
var genericMethod = method.MakeGenericMethod(idPropertyType, entityPropertyType);
genericMethod.Invoke(this, new[] {
currentEntityProperty.GetValue(currentEntity, null),
newEntityProperty.GetValue(newEntity, null)
});