C# 是否有任何工具可以将所有字段转换为一组.cs文件中的属性?
是否有将字段转换为属性的工具C# 是否有任何工具可以将所有字段转换为一组.cs文件中的属性?,c#,asp.net,.net,roslyn,C#,Asp.net,.net,Roslyn,是否有将字段转换为属性的工具 我的项目中有许多字段,手动将所有字段转换为属性需要很长时间。您可以使用Visual studio代码段为您生成代码 只需键入prop并按TAB键, 它将为您创建骨架。您只需提供属性的名称和类型。太简单了。你有内置的。当我想要生成代码文件时,我通常只使用XSLT或控制台应用程序。您还可以使用一些工具来进行比现成的更复杂的重构。内置的你会发现重构 你可以用roslyn api来实现这一点。你可以构建一个小型c#应用程序,将roslyn api添加到其中,用roslyn打
我的项目中有许多字段,手动将所有字段转换为属性需要很长时间。您可以使用Visual studio代码段为您生成代码 只需键入prop并按TAB键,
它将为您创建骨架。您只需提供属性的名称和类型。太简单了。你有内置的。当我想要生成代码文件时,我通常只使用XSLT或控制台应用程序。您还可以使用一些工具来进行比现成的更复杂的重构。内置的你会发现重构 你可以用roslyn api来实现这一点。你可以构建一个小型c#应用程序,将roslyn api添加到其中,用roslyn打开winform和asp.net项目,然后做你想做的事情 首先创建获取文件并返回新文件的类
public class FieldToPropertyConverter: CSharpSyntaxRewriter
{
FieldToPropertyConverter(string YourSolutionFilePath)
{
OpenSolution( YourSolutionFilePath);
}
public void OpenSolution(string path)
{
// OPEN your solution here
}
public Solution s ;
public void Convent()
{
foreach ( var p in s.Projects)
foreach ( var d in p.Documents)
{
var cus = Visit(d.GetSyntaxRootAsync().Result);
// save cus to solution
}
// save you set solution to your work space
}
public override SyntaxNode VisitFieldDeclarationSyntax( FieldDeclarationSyntax f)
{
PropertyDeclaractionSyntax p =SyntaxFactory.PropertyDeclaraction( f.Declaraction.Type, f.Declaraction.Variables.First().Identifier);
return p;
}
}
你可以像这样使用这个类
FieldToPropertyConverter c = new FieldToPropertyConverter("solutionFilePath");
c.Convent();
c.Save();
您使用的是
publicpropertyname{get;set;}
语法吗?这并不需要很长时间来编写。为什么要创建字段,只需使用自动属性,执行public bool Foo{get;set;}
这样做有具体的原因吗?我的项目VSDiagnostics()有一个代码修复程序,可以将非常量/静态公共/内部字段更改为属性。Analyzer实现:创建一个新属性——它不使用现有字段中的任何信息。