首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串转换为OpCode

将字符串转换为OpCode
EN

Stack Overflow用户
提问于 2013-11-25 08:34:48
回答 1查看 1.4K关注 0票数 0

我正试图在C#中制作一个指令编辑器,并且我被困在创建指令上。我需要能够使用OpCode将字符串转换为Mono.Cecil,但它似乎无法做到这一点。如果更容易的话,我可以创建一个Dictionary<string, OpCode>并通过OpCodes中的OpCodes枚举来填充它,但是OpCodes只是将OpCodes作为变量而不是在列表中包含的类(我认为这可能是为了支持.NET 1),从而阻止了我枚举它们。这就是我讨论问题的地方,我如何将字符串转换为OpCode,或者枚举每个OpCode (哪种方法更容易/更快)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 09:03:38

在这里,如果性能不是问题,反射将对您有所帮助。

这就是你该怎么做。

代码语言:javascript
复制
var opCodes = typeof(OpCodes)
                    .GetFields(BindingFlags.Static | BindingFlags.Public)
                    .Where(x=> x.FieldType == typeof(OpCode))
                    .Select(x=> (OpCode)x.GetValue(null))
                    .ToArray();

foreach(var opcode in opCodes)
{
   //Do whatever with opcode
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20187878

复制
相关文章

相似问题

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