![](/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.