/// <summary> /// Determines whether two member signatures are considered equal according to their signatures. /// </summary> /// <param name="signature1">The first signature to compare.</param> /// <param name="signature2">The second signature to compare.</param> /// <returns><c>True</c> if the signatures are considered equal, <c>False</c> otherwise.</returns> public bool MatchMemberSignatures(CallingConventionSignature signature1, CallingConventionSignature signature2) { if (signature1 == null && signature2 == null) return true; if (signature1 == null || signature2 == null) return false; var fieldSignature = signature1 as FieldSignature; if (fieldSignature != null) return MatchFieldSignatures(fieldSignature, signature2 as FieldSignature); var methodSignature = signature1 as MethodSignature; if (methodSignature != null) return MatchMethodSignatures(methodSignature, signature2 as MethodSignature); var propertySignature = signature1 as PropertySignature; if (propertySignature != null) return MatchPropertySignatures(propertySignature, signature2 as PropertySignature); return false; }