![](/img/trans.png)
[英]C# - Visual Studio 2017 - Get actual code of predefined methods
[英]Minify C3 code in Visual Studio 2017
我想缩小 Visual Studio 2017 中的 C# 代码(文件)。是否有任何扩展或其他方法可以做到这一点。 我已经搜索过了,没有找到任何有用的东西。 我知道有一些方法可以缩小 js、CSS 或 HTML 文件,但是如果存在的话,我需要用于 C# 的缩小器
您可以编写一个从基类CSharpSyntaxRewriter继承的类,并使用它来根据您希望缩小代码的方式缩小代码。
初学者将删除所有语法琐事,这可以通过CSharpSyntaxRewriter
基类的以下实现轻松实现:
public class TriviaRemover : CSharpSyntaxRewriter
{
public override SyntaxNode Visit(SyntaxNode node) => base.Visit(node).WithoutTrivia();
public override SyntaxTrivia VisitTrivia(SyntaxTrivia trivia) => default;
}
要实际使用它,类似于以下示例的内容将起作用:
var tree = CSharpSyntaxTree.ParseText(@"
public class Foo
{
//Here some trivia to be removed
public string bar = ""bar"";
}");
var Mscorlib = MetadataReference.CreateFromFile(typeof(object).Assembly.Location);
var compilation = CSharpCompilation.Create("MyCompilation",
syntaxTrees: new[] { tree }, references: new[] { Mscorlib });
var model = compilation.GetSemanticModel(tree);
var root = model.SyntaxTree.GetRoot();
var tr = new TriviaRemover();
var newRoot = tr.Visit(root);
Console.WriteLine(newRoot.GetText());
Console.ReadLine();
在这里查看另一个示例(上面的示例代码起源于此处): https : //johnkoerner.com/csharp/using-a-csharp-syntax-rewriter/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.