var leftCurrent = leftArray.GetValue(i);
var rightCurrent = rightArray.GetValue(i);
var mi = typeof (PropertyCompare).GetMethod("NotEqualProperties");
mi.MakeGenericMethod(leftCurrent.GetType());
var notEqualProps = mi.Invoke(null,new []{leftCurrent, rightCurrent});
if(notEqualProps != null)
result.Add(new ArraysDiffResult(i, notEqualProps as List<string>));
Почему этот код вызывает InvalidOperationException (Операции с поздним связыванием не могут быть выполнены для типов или методов, для которых ContainsGenericParameters имеет значение true.)?
NotEqualProperties - статический универсальный метод.
UPD: я уже нашел решение. Просто забыл назначить новый MethodInfo ... (Epic Fail ..)
А как насчет производительности?