J'ai une ancienne DLL de mon application. Je dois créer de nouvelles instructions dans. NET REFLECTOR en utilisant Reflexil v1.7. Le problème est où puis-je trouver la méthode op_Inequality? Je dois écrire OpCode = appel Opérande = System.Boolean System.String :: op_Inequality (System.string System.String)Où est la méthode op_inequality? Comment le sélectionner par hiérarchie en utilisant. NET Reflector
Q
Où est la méthode op_inequality? Comment le sélectionner par hiérarchie en utilisant. NET Reflector
1
A
Répondre
0
Je ne sais pas comment cela devrait fonctionner dans reflexil parce que je n » t avoir une installation .Net Reflector.
Qu'est-ce que vous cherchez à est l'opérateur op_inequality sur la classe String et que l'on ressemble à ceci:
public static bool operator !=(string a, string b)
{
return !string.Equals(a, b);
}
En C# l'équivalent est
bool result = (a != b)
Comme vous pouvez le voir sur la décompiler au lieu de op_Inequality Je m'attends à ce que vous puissiez déposer un appel virtuel à Equals
, puis annuler la branche.
IL_0024: ldloc.0 // s
IL_0025: ldloc.1 // v
IL_0026: callvirt System.String.Equals
IL_002D: brtrue.s IL_0038