我正在寻找一种方法,可以轻松地将代码库中的所有CLR类型引用替换为具有各自别名类型的数千个文件,具体地说:

  • "Int64"=>"Long"
  • "Int32"=>"int"
  • "Int16"=>"Short"
  • "UInt64"=>"ULong"
  • "UInt32"=>"uint"
  • "UInt16"=>"ushort"
  • "Double"=>"Double"
  • "Single"=>"Float"
  • "Decimal"=>"Decimal"
  • "Byte"=>"字节"
  • "SByte"=>"sbyte"
  • "Object"=>"Object"
  • "字符串"=>"字符串"
  • "char"=>"char"
  • "布尔"=>"bool"

我发现这个工具AliasBeGone可以做相反的事情,它是针对较旧的Visual Studio版本的,并且一次只针对一个文件. 有没有工具可以实现我想要实现的目标,或者如果我一直try 使用控制台应用程序或bash脚本创建自己的解决方案,是不是最好?

如果有人能为我指明正确的方向,我将不胜感激.

推荐答案

为了完整起见,如果其他人有同样的问题,我将把这个作为答案张贴在这里.

正如shingo指出的那样,这可以通过使用他们之前答案中的a similar popup的Visual Studio来实现.

当您将鼠标悬停在CLR类型上并且可以替换解决方案中的所有匹配项时,应该会出现此弹出窗口.如果没有出现此弹出窗口,您应该判断您的解决方案.editorconfig文件.

请确保其中包含以下行:

  • dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
  • dotnet_style_predefined_type_for_member_access = true:suggestion

那它应该能行得通.如果有人有更好的解决方案,请随时在这里张贴.

Csharp相关问答推荐

C# Json重新初始化动态类型

ListaryImportProperty的默认DllImportSearchPathsProperty行为

在依赖性注入和继承之间进行 Select

如何告诉自己创建的NuGet包在应用程序中发生了变化?

EF Core. Income和. AsNoTracking正确用法

Unity 2D自顶向下弓旋转

使用预定义对象减少Task.Run/Factory.StartNew中的关闭开销

如何在WPF的树视图中显示一个对象的两个或多个属性,其中只有一个是分层项?

为什么Regex.IsMatch(";\\t";,";\\t";)返回FALSE而不是TRUE?

如何使用NumberFormatInfo

C#-VS2022:全局使用和保存时的代码清理

C#自定义验证属性未触发IsValid方法

RX操作员使用先前值进行扫描,信号来自值本身

在';、';附近有错误的语法.必须声明标量变量";@Checkin";.';

为什么我的用户界面对象移动到略低于实际目标?

匿名类型的AbstractValidator

如何使用EPPlus C#在单个单元格中可视化显示多行文字

WPF如何获取有关从一个视图模型更改另一个视图模型的信息

最小API定义的Swagger标头参数

嵌套Blazor组件内的验证