如何CallerMemberName实现了吗?
我明白它的作用 - 它允许我们在代码中保留魔法字符串 - 但它应该用于 nameof
吗?什么更高效?
有什么区别/CallerMemberName 究竟是如何工作的?
最佳答案
CallerMemberName
是一个编译时技巧,用于将当前成员的名称放在对另一个方法的调用中。 nameof
也是一个编译时技巧,可以做类似的事情:它采用成员的字符串表示形式。
使用哪个取决于您。我会说:在可能的地方使用 CallerMemberName
,在必须的地方使用 nameof
。 CallerMemberName
比 nameof
更自动化,所以这就是我更喜欢那个的原因。
两者具有相同的性能含义:仅在编译时需要一些额外的时间来评估代码,但这可以忽略不计。
关于c# - 我应该提供一个带有 nameof 成员名称的方法,还是应该依赖 CallerMemberName 来为我做这件事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37942770/