- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何CallerMemberName实现了吗?
我明白它的作用 - 它允许我们在代码中保留魔法字符串 - 但它应该用于 nameof
吗?什么更高效?
有什么区别/CallerMemberName 究竟是如何工作的?
最佳答案
CallerMemberName
是一个编译时技巧,用于将当前成员的名称放在对另一个方法的调用中。 nameof
也是一个编译时技巧,可以做类似的事情:它采用成员的字符串表示形式。
使用哪个取决于您。我会说:在可能的地方使用 CallerMemberName
,在必须的地方使用 nameof
。 CallerMemberName
比 nameof
更自动化,所以这就是我更喜欢那个的原因。
两者具有相同的性能含义:仅在编译时需要一些额外的时间来评估代码,但这可以忽略不计。
关于c# - 我应该提供一个带有 nameof 成员名称的方法,还是应该依赖 CallerMemberName 来为我做这件事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37942770/
我正在使用 C#(.NET 4.5、VS 2013)生成一个序列化程序,我正在使用一个属性来控制序列化元数据,例如用于存储成员以供读取和写入的名称。因为我不想每次都写出成员名称作为属性的参数,所以我尝
我有以下日志方法(用于单元测试项目): public static void WriteLogFile(T obj, [System.Runtime.CompilerServices.
我有一个面向 Windows Phone 7.1+ 和 Windows 应用商店应用程序(适用于 WinRT)的可移植库,它使用 .net 4.5 框架。 我想在其中使用新的 [CallerMembe
现在(C# 4.0),我们的日志记录方法看起来像 public void Log(string methodName, string messageFormat, params object[] me
我正在浏览大约 700K 行代码。大量的接口(interface)实现和DI使用。我试图找出从哪里调用特定方法,因此我尝试使用 [CallerMemberName]。 我在谷歌等上看到的所有例子都是这
使用CallerMemberName/CallerFilePathAttribute/CallerLineNumber属性如何影响应用程序的性能?这是在应用程序中编译的东西,还是相关反射的东西,还是其
我有一个接受dynamic 参数的方法,还有一个不同参数的[CallerMemberName]。只要动态对象也在参数中,就不会填充 [CallerMemberName] 参数。 这是 CallerMe
有没有办法在调用方方法中获取变量/参数的原始名称?在某种程度上,它就像 [CallerMemberName]属性,但对于变量/参数。 更新 2018.02: 这个问题与这些问题类似:1 , 2和 3
我正在尝试在我的新 WPF 4.5 CompositeWPF (Prism) 项目中实现日志记录功能。这需要我在我的代码中实现 ILoggerFacade。该接口(interface)只实现了1个方法
新的 C# 5.0 版本引入了一些东西来摆脱 INotifyPropertyChanged 实现中的“魔法字符串”,例如: OnPropertyChanged("CustomerName"); 现在可
我刚刚安装了 Visual Studio 2012,因此我可以利用更好的方法通过 Silverlight 实现 MVVM。 我想做的第一件事是开始使用 [CallerMemberName] 属性,这样
有什么区别以及对代码的影响? 关于性能和限制,什么更适合? 新属性: - [调用文件路径属性] - [CallerMemberName] - [来电号码] 现在它们在 .NET 4 中也可用(它很容易
有好文章推荐different ways for implementing INotifyPropertyChanged . 考虑以下基本实现: class BasicClass : INotifyP
我正在尝试实现与提升属性一起使用的 CallerMemberName。我试图在 vb 中执行此操作,但在 system.runtime.compilerservices 中找不到此接口(interfa
我在类的 INotifyPropertyChanged 实现中使用了 CallerMemberName 属性,如 MSDN 中所述如下: public event PropertyChange
快速背景:尝试创建一个方法,该方法将根据调用它的方法返回预定义的字符串。 (有点掩饰但足够接近)。 我打算使用 [ CallerMemberName ] 属性,但我的问题是: => 我是否需要将 Me
如何CallerMemberName实现了吗? 我明白它的作用 - 它允许我们在代码中保留魔法字符串 - 但它应该用于 nameof 吗?什么更高效? 有什么区别/CallerMemberName 究
我正在尝试通过 BCL 可移植包在 .NET 4.0 中使用 CallerMemberName 属性。它总是返回一个空字符串而不是成员名称。我做错了什么? public partial class F
因此,.NET 4.5 引入了 CallerMemberNameAttribute,对于任何使用 WPF 并实现 INotifyPropertyChanged 的人来说,这似乎是天赐之物 - 我的问题
我是一名优秀的程序员,十分优秀!