gpt4 book ai didi

.net - ListBox.DisplayMember = [String] 我可以以某种方式解决它而不是 .NET 中的字符串吗?

转载 作者:行者123 更新时间:2023-12-01 09:39:58 25 4
gpt4 key购买 nike

问题是针对对象数据源提出的。所以考虑一下我有一个类

public class Customer{

public String name;
public int age;

public Customer(String name, int age) {
this.name = name;
this.age = age;
}
}

我已经将一个列表框数据绑定(bind)到这些对象的列表中。所以我说

listBox.DisplayMember = "name";

但我的问题是,当我将 Customer 类的名称重构为

public String fullName;

DisplayMember 仍停留在“名称”。这将失败。所以它降低了我重构域对象的能力。有没有办法解决这个问题?

最佳答案

这是 sexier and more flexible solution

片段...

To make a long story short, instead of writing:

textBoxCustomerName.DataBindings.Add("Text", bindingSource, "CustomerName");

my suggestion is to write something like:

dataSource.CreateBinding(textBoxCustomerName, ctl => ctl.Text, data => data.Name);

This way, your code will still run without any problems when you refactor your entities (let’s say, if you rename the customer’s Name property to CompanyName).

很可爱吧?

这里还有一些解决方案How to make Databinding type safe and support refactoring

关于.net - ListBox.DisplayMember = [String] 我可以以某种方式解决它而不是 .NET 中的字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/996534/

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