C# C语言中所有操作数的列表#
非常简单的问题:如何获取C#中所有操作数的列表?示例:C# C语言中所有操作数的列表#,c#,intellisense,rich-text-editor,operands,C#,Intellisense,Rich Text Editor,Operands,非常简单的问题:如何获取C#中所有操作数的列表?示例: { "return", "break", "if", "case", "switch", ... }; 更难的问题:如何获得所有函数(类型、方法)的列表? { "string", "Math.Abs", "double.IsNaN", "int.ToString", ... }; 我想为CodeDom制作一些类似IntelliSense的东西(一个非常糟糕和肮脏的东西)。因此,用户可以通过将其代码作为文本添加到我的代码中来扩展软件的功能
{ "return", "break", "if", "case", "switch", ... };
更难的问题:如何获得所有函数(类型、方法)的列表?
{ "string", "Math.Abs", "double.IsNaN", "int.ToString", ... };
我想为CodeDom制作一些类似IntelliSense的东西(一个非常糟糕和肮脏的东西)。因此,用户可以通过将其代码作为文本添加到我的代码中来扩展软件的功能。我给他提供了一个带有某些参数的函数体,他可以使用,但他也应该能够使用任何标准函数,例如,double.ToString()
或Math.PI
。他将代码输入RichTextEditor。我想让他更容易看到语法(突出显示已知的操作数、开/关括号、函数参数)
我已经可以突出显示单词(参数),它看起来很不错,但是突出显示所有内容会很酷。我把它看作是获取操作数/functin/类型/方法的列表,我不知道该怎么做(我可以自己将所有操作数键入数组)
这个问题是否应该重新表述:如何让我自己的智能感知?:-)
附言:一个快速的潜伏甚至没有给我提供一个单一的结果,我实际上有一个问题来阐述我所寻找的 对于关键词,您可以访问规范或MSDN;例如,尽管IIRC存在一些模糊的遗漏。请注意,许多关键字是上下文相关的(意思是:它们可能并不总是关键字),并且关键字可以转义(string@int=“evil”
)
对于“所有函数”。。。好的,这里有
assembly.GetTypes()
,type.GetMethods()
,等等,还有“循环”。有两件事你要问:
int
,return
,break
,和string
-Int32
、Math
和String
-这很重,但你可以看看Roslyn项目 见:
@
,而且比较容易检查。我已经提到的硬编码操作数。ಠ_ಠ 既然你现在到处闲逛,而不是像搜索引擎一样浪费时间。你可能是他唯一的希望。谢谢。因此,硬编码的操作数列表、生成的函数列表和一些检查(针对@
和字符串)似乎是可行的方法。我不希望用户编写复杂或高级的代码。我只是想让一些东西看起来比纯文本更好。使用AppDomain.CurrentDomain.getAssemblys()
,…GetTypes()
,…GetMethods()
循环获取列表似乎会有帮助,谢谢。然而,有一些垃圾类型和方法名称,但我应该弄清楚如何过滤它们。谢谢。创建一个网络框架类库的硬编码列表是可能的,但是太多了=D我宁愿用编程的方式来处理这个列表。谢谢,但是这两个都是多余的。它们是巨大的专业库,我只需要语法highlightning。