相关疑难解决方法(0)

针对类型安全数据绑定缺少C#中"nameof"运算符的解决方法?

nameof在C#中包含运算符的情绪很多.作为此运算符如何工作的示例,nameof(Customer.Name)将返回字符串"Name".

我有一个域对象.我必须绑定它.然后我需要属性的名称作为字符串.我希望它们是类型安全的.

我记得在.NET 3.5中遇到过一种解决方法,它提供了nameoflambda表达式的功能和涉及的lambda表达式.但是,我无法找到此解决方法.任何人都可以为我提供这种解决方法吗?

我也对nameof如果可能的话在.NET 2.0中实现功能的方法感兴趣.

.net c# data-binding .net-3.5 .net-2.0

44
推荐指数
2
解决办法
2万
查看次数

在C#中编译时间反射

我经常编写C#代码,必须使用魔术字符串来表达属性名称.每个人都知道魔术弦的问题.它们很难重构,它们没有编译时检查,并且通常会导致难以诊断的问题.然而,C#/ .NET 在整个地方使用它们来表示属性/类/方法名称.

这个问题已持续多年和多年,目前唯一可行的解​​决方案是使用表达式树,然后在运行时解析属性名称.这使您获得令人满意的编译时检查,但它使代码复杂化(需要Expression类型的参数),并且会产生运行时成本.

有没有人知道是否有一个特性考虑因为C#/ .NET添加编译时反射来克服这个普遍存在的问题?

看起来这将是一个简单的补充,它将是一个非破坏性的变化,它将使许多开发人员受益匪浅.typeof()运算符已经执行了编译时反射的形式,因此看起来运算符nameof()(或类似的东西)将非常互补.

此外,有没有人知道这个功能的任何潜在问题?

谢谢您的帮助.

.net c# strong-typing compile-time magic-string

22
推荐指数
3
解决办法
9561
查看次数