首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >op_inequality方法在哪里?如何使用.NET反射器通过层次结构选择

op_inequality方法在哪里?如何使用.NET反射器通过层次结构选择
EN

Stack Overflow用户
提问于 2015-07-16 00:55:59
回答 1查看 1.1K关注 0票数 1

我的应用程序有一个旧的dll。我必须在.NET反射器中创建新的指令,使用Reflilv1.7。问题是在哪里可以找到op_Inequality方法?我要写OpCode=call Operand=System.Boolean System.String::op_Inequality(system.string system.string)

EN

回答 1

Stack Overflow用户

发布于 2015-07-19 14:03:32

我不确定在反射器中应该如何工作,因为我没有安装.Net反射器。

您所看到的是String类上的不等式操作符,该操作符如下所示:

代码语言:javascript
复制
public static bool operator !=(string a, string b)
{
return !string.Equals(a, b);
}

在c#中,等价的是

代码语言:javascript
复制
bool result = (a != b) 

正如您从反编译堆中看到的,而不是从op_Inequality中看到的,我希望您可以加入对Equals的虚拟调用,然后否定分支。

代码语言:javascript
复制
IL_0024:  ldloc.0     // s
IL_0025:  ldloc.1     // v
IL_0026:  callvirt    System.String.Equals
IL_002D:  brtrue.s    IL_0038
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31443704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档