Hi, 9rays! Check this situation.
Assembly A:
public class A
{
public int Id
{
get { return 5; }
}
public bool Compare(int id)
{
return id == Id;
}
}
class Y
{
class Z
{
public void Work()
{
A a = new A();
int id = a.Id;
}
}
}
Assembly B (makes reference to A):
class SomeClass
{
public void SomeMethod()
{
A a = new A();
a.Compare(10);
}
}
After obfuscation, 'SomeMethod' calling results in MethodAccessException. Why?
Let's look at obfuscated 'Compare' method of class A.
public bool 2Oq6d(int num1)
{
return (num1 == X0iH3Z.X0iH4Z.Ι.α(this));
}
X0iH4Z is nothing more then PRIVATE class Z!