【问题标题】:Can you convert an attribute to a modifier?可以将属性转换为修饰符吗?
【发布时间】:2017-05-05 01:39:38
【问题描述】:

例如,我可以将[System.Serializable] 变成一个新的修饰符,这样我就可以输入public serializable struct SaveData { ... }

【问题讨论】:

  • 否;这是完全不可能的。

标签: c# serialization attributes access-modifiers


【解决方案1】:

不,如果没有构建您自己的编译器,则不然。修饰符在 C# 语言规范中定义为关键字,用户不能更改。

有一些未记录的关键字是特定于编译器的,例如 Microsoft 实现中的 __arglist(请参阅 https://www.codeproject.com/Articles/38695/UnCommon-C-keywords-A-Look#arg),但要添加您自己的关键字,您需要更改编译器源代码。

除此之外,在编译之前转换文件的自定义预编译器可能会有所帮助。

这两种变体都可以提高可读性,但肯定会使构建过程更容易出错,因此我建议尽可能避免这样做。

【讨论】:

    猜你喜欢
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2018-12-03
    • 1970-01-01
    • 2013-06-30
    • 2013-11-13
    • 2011-06-12
    相关资源
    最近更新 更多