问题标签 [icsharpcode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Decompile method from assembly (ICSharpCode)
I'm trying to decompile a method programmatically using ICSharpCode. I'm able to decompile the entire type, but whenever I try to decompile a single method, I get a null reference exception. The approach is much like this question ICSharpCode.Decompiler + Mono.Cecil -> How to generate code for a single method?
The exception is thrown when invoking astBuilder.AddMethod. Any idea of what I'm missing. Or maybe recommendations for a different framework?
Thanks in advance!
Stacktrace:
at ICSharpCode.Decompiler.Ast.NameVariables.AssignNamesToVariables(DecompilerContext context, IEnumerable
1 parameters, IEnumerable
1 variables, ILBlock methodBody) at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable1 parameters) at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable
1 parameters) at ICSharpCode.Decompiler.Ast.AstBuilder.CreateMethodBody(MethodDefinition method, IEnumerable`1 parameters) at ICSharpCode.Decompiler.Ast.AstBuilder.CreateMethod(MethodDefinition methodDef) at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethod(MethodDefinition method) at CodeFlow.Decompile.DecompileMethod(String assemblyPath, String assemblyFile, String typeName, String methodName) in C:\Arbejdsfiler\DCFServices\Tools\CustomFxCopRules\CustomCodeAnalysis\CodeFlow\Decompile.cs:line 69
c# - 从 USB 运行 Visual Studio 2012 Express c#
我最近在我的高中加入了一个编程俱乐部,并希望能够使用 USB 从他们的笔记本电脑上运行 Visual Studio 2012 c# Express Edition。我不想更改任何实际的计算机文件,因为它违反了规则。在谷歌上搜索后,这个任务似乎很难完成。因此,我决定查看其他一些 IDE,并找到了 SharpDevelop。有人知道 SharpDevelop 是否可以在没有 .NET 的计算机上通过 USB 运行?
谢谢。
.net - ICSharp.texteditor 中的自定义语法突出显示
我正在尝试制作语言 PAWN 的 IDE。
我在 C# 中使用 ICSharp 进行语法高亮。由于 PAWN 在 scintilla 中还没有,有人可以告诉我如何创建自定义语法突出显示吗?
以下是关键词
assert char #assert const break defined #defined enum case sizeof #else forward continue state #elseif native default tagof #emit new do #endif operator else #endinput public exit #endscript static for #error stock goto #file if #if return #include sleep #line state #pragma switch #section while #tryinclude #undef
c# - 如何重置 ICSharpCode.AvalonEdit 语法突出显示?
我将 ICSharpCode AvalonEdit 源代码编辑 WPF 控件托管到我的 Windows 窗体 C# 应用程序中。我知道以下代码加载了语法高亮定义:
但是,如果在我已经设置了语法高亮定义之后,我不想要任何语法高亮,我只想让它显示为纯文本呢?如何禁用 AvalonEdit 控件中的语法突出显示?
c# - ListBox 项来自在其他类中声明的字符串可能吗?
与此主题相关: https ://stackoverflow.com/questions/15170054/context-hint-using-combobox
有没有办法可以在我的单独类中使用字符串:
到我的主窗体中的 mylistbox 项目?
提前ty
c# - 按 Enter 键会将 ListBox 中的选定项添加到 RichTextBox
与此主题相关: 在 RichTextBox 中键入单词时会出现隐藏的列表框
我正在使用代码编辑器,我只想知道如何使用 enterkey 将列表框中的项目添加到文本框中。
更多继承人我的字符串:
样本:
在richtextbox (rtb) 中,我输入Ab,然后hiddenlistbox 将使用以下代码出现“抽象”文本(已经这样做了):
然后在我按下回车键之后,我想将列表框中的摘要添加到richtextbox。
RichTextBox 声明为 rtb 和 ListBox 声明为 lb
我应该怎么办?谢谢 。
c# - 如何调用另一个方法?
我正在使用代码编辑器,我想将字符串行调用到 keyargs 事件中,该事件位于另一个返回 void 的方法中。
当我输入回车键时应该会出现输出,然后 ComboBox 中的选定列表应该附加到 RichTextBox 中保存的文本中。
现在为了实现这一点,我想问你,如何调用这个方法:
从这个里面:
我真的需要帮助。提前非常感谢!
c# - 关于 ComboBox SelectedIndex?
我有一个组合框,它的列表来自在 class 上声明的单独字符串。
每次我运行它时,它总是选择组合框列表的最后一部分而不是第一部分。它正在选择asdfg
而不是。我的as
问题是如何使列表从第一个被选择,即从as
作为组合框的选定索引开始?(或按字母顺序排列时始终处于升序模式)?提前致谢..
antlr - ANTLR3 语法突出显示 ICSharpCode.TextEditor 中的隐藏通道
我在开发我们的小 DSL 方面取得了一些进展,但是在尝试突出显示我们正在使用的 TextEditorControl 中的注释时遇到了问题。顺便说一下,ICSharpCode 控件非常棒,与 ANTLR 结合使用它为 DSL 提供了一个很好的平台。
我有一个工作语法和词法分析器,并且在文本编辑器中编写了一个突出显示策略,它也很好用。拒绝正确着色的 DSL 的唯一元素是我在隐藏通道上的“评论”。
令人沮丧的是,如果我将 Comment lexrule 从隐藏通道中移除,我可以使突出显示工作......但是当我这样做时,解析器在评论之后的最后一段文本之后的评估期间停止解析。
举个例子; 当评论被隐藏但在第一个“abc”处停止解析时,这有效
我一直在尝试单独访问隐藏通道,以便我可以将默认和隐藏令牌列表组合成一个按开始索引排序的列表,然后从那里突出显示,但我没有运气使用 CommonTokenStream 的 BaseRecognizer.Hidden 参数构造函数。
我当前突出显示 TextEditor 行的尝试如下所示
似乎需要 do..while 才能将令牌放入列表中,否则 GetTokens 永远不会提供任何东西。在上面的代码形式中,即使在我的测试装置中输入注释,也不会产生任何标记。
如果我调用 CommonTokenStream 的参数化构造函数并使用基本构造函数,我会得到一个很好的标记流,我可以着色但所有隐藏的标记都是......好吧......我猜是隐藏的。
您对这个小问题的集体想法以及您对如何以编程方式维护类型列表而不是每次更改解析器时都必须重新调整它们的任何想法都将不胜感激。
我曾想过为需要着色的每种类型创建独立的通道,但目前我只是递归地添加到我的问题中!
提前感谢伊恩
编辑:
感谢您的出色回答山姆,非常感谢。它被标记和评分。
我采用了覆盖概念,因为它还解决了按名称跟踪各种 Token 类型的问题,从而在我添加到语法时简化了我的维护。
我创建了一个语法高亮词法分析器和一个单独的评估词法分析器,并使用了我在原始语法中创建的独立通道。
评论现在看起来像这样,虽然我认为 alt 还没有工作,主要工作很好
Lexer 成员添加了这些
并且高亮词法分析器在 Emit() 上使用此覆盖,您建议的覆盖也已到位并且正在工作
困扰我的一件事是明显无法轻松获取令牌列表。我无法让 CommonTokenStream 在没有延迟和绊倒的情况下交付其令牌。我对“_tokens”使用 BufferedTokenStream 进行了抨击,因为这听起来更像是我所追求的,嘿 presto .. 令牌!我怀疑我的用户错误?
标记方法现在看起来像这样
再次感谢你的帮助。我要去看看错误识别和标记...问候伊恩