相关疑难解决方法(0)

如何使数据绑定类型安全并支持重构

当我希望将控件绑定到我的对象的属性时,我必须提供属性的名称作为字符串.这不是很好,因为:

  1. 如果删除或重命名该属性,我不会收到编译器警告.
  2. 如果使用重构工具重命名该属性,则很可能不会更新数据绑定.
  3. 如果属性的类型错误,我在运行时之前不会收到错误,例如将整数绑定到日期选择器.

是否有一个设计模式可以解决这个问题,但仍然易于使用数据绑定?

(这是WinForm,Asp.net和WPF中的一个问题,很可能是很多其他系统)

我现在已经找到了" C#中的nameof()运算符的变通方法:typesafe databinding ",它也是解决方案的一个很好的起点.

如果您在编译代码后愿意使用后处理器,那么notifypropertyweaver非常值得关注.


当绑定在XML而不是C#中完成时,任何人都知道WPF的良好解决方案吗?

.net c# data-binding refactoring type-safety

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

强在.NET中键入属性名称

假设我有一个属性有一个属性

Public Class MyClass
   Public Property MyItem() as Object
      ....
   End Property
End Class
Run Code Online (Sandbox Code Playgroud)

我必须将属性的名称传递给函数调用.(请不要问为什么要这样做,它是第三方框架).例如

SomeFunc("MyItem")
Run Code Online (Sandbox Code Playgroud)

但我想要做的是,将字符串更改为强类型参数.这意味着,如果重命名或更改属性名称,也应该在此处反映出来.

所以这种类型的东西:

Dim objectForStrongTyping as New MyClass()
SomeFunc(objectForStrongTyping.MyItem().Name())
Run Code Online (Sandbox Code Playgroud)

我相信这不会奏效.有没有办法可以完成这种强力打字?(C#或VB.NET,任何事情都很酷)

.net c# vb.net strong-typing

10
推荐指数
2
解决办法
3556
查看次数