当我希望将控件绑定到我的对象的属性时,我必须提供属性的名称作为字符串.这不是很好,因为:
是否有一个设计模式可以解决这个问题,但仍然易于使用数据绑定?
(这是WinForm,Asp.net和WPF中的一个问题,很可能是很多其他系统)
我现在已经找到了" C#中的nameof()运算符的变通方法:typesafe databinding ",它也是解决方案的一个很好的起点.
如果您在编译代码后愿意使用后处理器,那么notifypropertyweaver非常值得关注.
当绑定在XML而不是C#中完成时,任何人都知道WPF的良好解决方案吗?
假设我有一个属性有一个属性
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,任何事情都很酷)