AsmResolver.Net.SignatureComparer.MatchMembers C# (CSharp) Метод

MatchMembers() публичный Метод

Determines whether a field definition is considered equal to a member reference according to their signatures.
public MatchMembers ( FieldDefinition field, MemberReference reference ) : bool
field FieldDefinition The field definition to compare.
reference MemberReference The member reference to compare.
Результат bool
        public bool MatchMembers(FieldDefinition field, MemberReference reference)
        {
            if (field == null && reference == null)
                return true;
            if (field == null || reference == null)
                return false;

            return field.Name == reference.Name &&
                   MatchParents(field.DeclaringType, reference.Parent) &&
                   MatchMemberSignatures(field.Signature, reference.Signature);
        }

Same methods

SignatureComparer::MatchMembers ( ICallableMemberReference reference1, ICallableMemberReference reference2 ) : bool
SignatureComparer::MatchMembers ( IMemberReference reference1, IMemberReference reference2 ) : bool
SignatureComparer::MatchMembers ( MemberReference reference1, MemberReference reference2 ) : bool
SignatureComparer::MatchMembers ( MethodDefinition method, MemberReference reference ) : bool

Usage Example

Пример #1
0
        public MethodDefinition ResolveMethod(MemberReference reference)
        {
            if (reference == null)
            {
                throw new ArgumentNullException("reference");
            }

            var typeDef = ResolveType(reference.Parent as ITypeDefOrRef);

            if (typeDef == null)
            {
                return((MethodDefinition)ThrowOrReturn(reference));
            }

            var method = typeDef.Methods.FirstOrDefault(x => _signatureComparer.MatchMembers(x, reference));

            return(method ?? (MethodDefinition)ThrowOrReturn(reference));
        }