gpt4 book ai didi

c# - C# 中的数据绑定(bind) - 字符串形式的属性名称

转载 作者:行者123 更新时间:2023-11-30 18:41:48 25 4
gpt4 key购买 nike

看完this我非常确定类的属性如何绑定(bind)到我的 UserControl 中的 TextBox。我仍然对通过字符串访问属性感到很不自在。与该类型的任何连接甚至该属性的存在(在两侧)都将丢失。
我对这种态度的主要问题是:

  • IntelliSense 停止工作 -> 容易出错,不太方便;
  • 那里写的任何东西在被调用之前都不会被检查 -> 错误很可能在最糟糕的时刻之前都不会被注意到...

有没有其他方法可以创建一个 UserControl 来表示一个类,该类连接到该类的一个实例并与其保持同步? (除了通过事件手动完成)

最佳答案

(besides doing it manually with events)

必须澄清的是,单向和双向数据绑定(bind)确实取决于事件。请阅读 How to: Implement Property Change Notification

也就是说,您无需在代码中对表示属性名称的字符串进行硬编码即可进行数据绑定(bind)。

一种方法是通过自定义属性。您可以在希望用户控件绑定(bind)到的数据模型中装饰某些属性。这样,当在用户控件中设置 DataSource 时,您可以通过反射在 DataSource 对象中搜索自定义 Attribute 装饰属性并绑定(bind)到它们:

public class MyDataModelObject
{
public int NotBindableProperty { get; }

[MyBindableAttribute]
public string BindableStringProperty
{
get {...}
set {...}
}
}

关于c# - C# 中的数据绑定(bind) - 字符串形式的属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6403898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com