您可以将属性转换为修饰符吗?
Can you convert an attribute to a modifier?
例如,我可以将 [System.Serializable]
变成一个新的修饰符,这样我就可以输入 public serializable struct SaveData
{
...
}
不,如果没有构建您自己的编译器就不行。修饰符在 C# 语言规范中定义为关键字,用户无法更改。
有一些未记录的关键字是特定于编译器的,例如 Microsoft 实现中的 __arglist
(请参阅 https://www.codeproject.com/Articles/38695/UnCommon-C-keywords-A-Look#arg),但要添加您自己的关键字,您需要更改编译器源代码.
除此之外,在编译之前转换文件的自定义预编译器可能会有所帮助。
这两种变体都可以提高可读性,但肯定会使构建过程更容易出错,因此我建议尽可能避免这样做。
例如,我可以将 [System.Serializable]
变成一个新的修饰符,这样我就可以输入 public serializable struct SaveData
{
...
}
不,如果没有构建您自己的编译器就不行。修饰符在 C# 语言规范中定义为关键字,用户无法更改。
有一些未记录的关键字是特定于编译器的,例如 Microsoft 实现中的 __arglist
(请参阅 https://www.codeproject.com/Articles/38695/UnCommon-C-keywords-A-Look#arg),但要添加您自己的关键字,您需要更改编译器源代码.
除此之外,在编译之前转换文件的自定义预编译器可能会有所帮助。
这两种变体都可以提高可读性,但肯定会使构建过程更容易出错,因此我建议尽可能避免这样做。