为了账号安全,请及时绑定邮箱和手机立即绑定

解决C#中缺乏用于类型安全数据绑定的'nameof'运算符的解决方法?

解决C#中缺乏用于类型安全数据绑定的'nameof'运算符的解决方法?

慕的地8271018 2019-09-21 13:48:10
nameof在C#中包含运算符的想法很多。作为此运算符如何工作的示例,nameof(Customer.Name)将返回字符串"Name"。我有一个域对象。而且我必须绑定它。然后,我需要属性名称作为字符串。我希望它们是类型安全的。我记得在.NET 3.5中遇到了一种变通方法,该变通方法提供了nameoflambda表达式并涉及其中。但是,我无法找到此解决方法。谁能为我提供该解决方法?如果可能,我也对实现nameof.NET 2.0 功能的方法感兴趣。
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

解决方法是使用一个表达式树,然后将该表达式树拆开以找到相关树MemberInfo

不幸的是,由于.NET 2.0中不存在表达式树,因此实际上没有等效树。

避免输入错误的一种解决方案是拥有一组访问器,这些访问器获取PropertyInfo特定属性的相关内容,并对它们进行单元测试。那将是其中唯一包含字符串的地方。这样可以避免重复,并使重构更加容易,但这有点苛刻。


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 815 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信