icsharpcode IDE에서 전에 NRefactory을 사용했습니다. 기본적인 내용은 쉽고 빠릅니다. 나는 C#을 예에서 VB.NET 예제를 만드는 데 사용 Using NRefactory for analyzing C# code
:
은이 문서를 참조하십시오. 이건 정말 솔직하다하지 쉽게 여러분의 필요에 적용 할 수있는 방법
private static void ConvertLanguage(TextReader input, TextWriter output, SupportedLanguage language, Action<string> onError)
{
using (IParser parser = ParserFactory.CreateParser(language, input))
{
parser.Parse();
var specials = parser.Lexer.SpecialTracker.RetrieveSpecials();
var result = parser.CompilationUnit;
//if (parser.Errors.Count > 0)
// MessageBox.Show(parser.Errors.ErrorOutput, "Parse errors");
IOutputAstVisitor outputVisitor;
if (language == SupportedLanguage.CSharp)
outputVisitor = new VBNetOutputVisitor();
else
outputVisitor = new CSharpOutputVisitor();
outputVisitor.Options.IndentationChar = ' ';
outputVisitor.Options.IndentSize = 4;
outputVisitor.Options.TabSize = 4;
using (SpecialNodesInserter.Install(specials, outputVisitor))
result.AcceptVisitor(outputVisitor, null);
if (outputVisitor.Errors.Count > 0 && onError != null)
onError(outputVisitor.Errors.ErrorOutput);
output.Write(outputVisitor.Text);
}
}
참고 : 앞의 코드는 이전 버전에서하고 NRefactory 라이브러리의 최신 버전에 대해 컴파일하지 않을 수 있습니다 .
왜 이렇게 했습니까? – mellamokb
모노를 설치하지 않는 이유는 무엇입니까? –