public static void ValidateMethod(MethodInfo originalMethod, MemberReference newReference)
{
Assert.AreEqual(originalMethod.Name, newReference.Name);
ValidateType(originalMethod.DeclaringType, newReference.DeclaringType);
Assert.IsInstanceOfType(newReference.Signature, typeof(MethodSignature));
var signature = (MethodSignature)newReference.Signature;
ValidateType(originalMethod.ReturnType, signature.ReturnType);
Assert.IsTrue(originalMethod.IsStatic == !signature.Attributes.HasFlag(CallingConventionAttributes.HasThis));
var originalParameters = originalMethod.GetParameters();
for (int i = 0; i < originalParameters.Length; i++)
ValidateType(originalParameters[i].ParameterType, signature.Parameters[i].ParameterType);
}