【问题标题】:How should I name new members added by Mono.Cecil?我应该如何命名 Mono.Cecil 添加的新成员?
【发布时间】:2017-02-01 20:15:01
【问题描述】:

我正在使用 Mono.Cecil 为各种类型添加一些字段和方法,我想知道我应该如何命名成员以避免与现有成员发生冲突。我是否需要遍历每个字段、方法和属性来为要添加的每个成员进行字符串比较,或者有没有办法让 Cecil 自动为我选择一个免费的成员名称?

【问题讨论】:

    标签: c# mono mono.cecil


    【解决方案1】:

    最好使用有意义的名称,用于调试目的(例如,当这些名称可能出现在堆栈跟踪中时)。但是,为避免与现有成员发生冲突,您可能希望使用 C# 标识符中不允许的字符。例如,您可以这样命名您的字段:<YourLibraryName>_MeaningfulFieldNameHere。这就是 C# 编译器本身对编译器生成的成员所做的事情(例如属性的支持字段)。

    【讨论】:

    • 有意义的名字很棒,但如果有人在他们没有源代码的程序集上运行我的修改器并且它破坏了程序集,那将是非常灾难性的。使用无效字符是一个很好的解决方案。不是 100% 万无一失,但在修改方法以使用该字段时,我更有可能创建错误。
    • 请注意,我还建议使用或多或少的唯一前缀 (YourLibraryName) 以进一步减少冲突的机会。
    猜你喜欢
    • 1970-01-01
    • 2010-12-05
    • 2020-09-12
    • 2012-04-03
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2011-01-16
    相关资源
    最近更新 更多