C# 是否提供编译时方法来基于注释重构代码?
Does C# offer a compile-time way to refactor code based on annotations?
我还没有用 C# 写过很多东西,主要是用 C++ 写的,所以我想知道 C# 是否提供了一种方法让您指示编译器根据注释在编译时重构代码?
基本上我正在寻找一种方法,让编译器自动将每个未列入黑名单的 class 变量包装在自定义包装器 class 中,并为包装类型设置赋值和转换运算符。因此,您只需使用 public int someInt;
作为常规整数,而不是 public CustomWrapper<int> someInt;
,如果 class 使用相应的注释进行注释,编译器将重构代码。
为了防止一些快速评论,自定义包装器非常重要。
这不是 C# 甚至 .NET 中内置的。您正在寻找的是 IL 重写工具或 AOP 工具。这些都是在 代码编译后应用的。看看
这里有一个 article 可以帮助您自己滚动。
如果您必须或想要在编译之前进行一些复杂的重构,您可以write a custom Rosyln code analyzer和相应的代码修复。这使它成为半自动的;如果您在编写代码时应用建议,代码可以根据代码修复进行转换。
我还没有用 C# 写过很多东西,主要是用 C++ 写的,所以我想知道 C# 是否提供了一种方法让您指示编译器根据注释在编译时重构代码?
基本上我正在寻找一种方法,让编译器自动将每个未列入黑名单的 class 变量包装在自定义包装器 class 中,并为包装类型设置赋值和转换运算符。因此,您只需使用 public int someInt;
作为常规整数,而不是 public CustomWrapper<int> someInt;
,如果 class 使用相应的注释进行注释,编译器将重构代码。
为了防止一些快速评论,自定义包装器非常重要。
这不是 C# 甚至 .NET 中内置的。您正在寻找的是 IL 重写工具或 AOP 工具。这些都是在 代码编译后应用的。看看
这里有一个 article 可以帮助您自己滚动。
如果您必须或想要在编译之前进行一些复杂的重构,您可以write a custom Rosyln code analyzer和相应的代码修复。这使它成为半自动的;如果您在编写代码时应用建议,代码可以根据代码修复进行转换。