Hey,

Comparing metadata for equality is pretty hard, as not everyone has
the same definition (there's a pretty good thread on this group about
it).

The way I usually implement it is as follow:

* I maintain a shared assembly resolver to make sure that assemblies
are never loaded twice.
* This way when you encounter a MethodReference, you can Resolve it.
* Then you can compare the MethodDefinition by reference equality.
* For generic instances, you will need to still compare the resolved
MethodDefinition by reference, and on top of that compare the
instantiation. You can do the same trick to compare resolved types by
identity.

Jb

On Wed, Nov 26, 2014 at 10:41 PM, Lior Tal <[email protected]> wrote:
> Hey,
>
> I have a MethodReference that i'd like to search for in other assemblies.
>
> I am iterating over all types, methods with bodies and instructions to find
> the MethodReference usage as the instruction's operand.
>
> How do i compare it with the original MethodReference instance that i
> already have, to see that they match ?
>
> Reference equality does not work obviously, what is the proper way of doing
> that ?
>
> --Lior
>
> --
> --
> --
> mono-cecil
> ---
> You received this message because you are subscribed to the Google Groups
> "mono-cecil" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
--
mono-cecil
--- 
You received this message because you are subscribed to the Google Groups 
"mono-cecil" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to