Winforms 在windows窗体中对可能具有空属性的对象图进行数据绑定?

Winforms 在windows窗体中对可能具有空属性的对象图进行数据绑定?,winforms,data-binding,Winforms,Data Binding,如果我有这样一个对象图: class Company { public Address MainAddress {...} } class Address { public string City { ... } } Company c = new Company(); c.MainAddress = new Address(); c.MainAddress.City = "Stockholm"; 并使用以下命令将数据绑定到控件: textBox1.DataBinding.Add(

如果我有这样一个对象图:

class Company {
  public Address MainAddress {...}
}

class Address {
  public string City { ... }
}

Company c = new Company();
c.MainAddress = new Address();
c.MainAddress.City = "Stockholm";
并使用以下命令将数据绑定到控件:

textBox1.DataBinding.Add( "Text", c, "MainAddress.City" );
一切都很好,但如果我坚持:

Company c2 = new Company();

c2使用相同的语法崩溃,因为MainAddress属性为null。我想知道是否有一个自定义绑定类可以为此处所有可能的路径设置侦听器,并在/如果我稍后在应用程序中设置MainAddress属性时动态绑定到实际对象。

您应该更改属性MainAddress的getter以执行此空值检查,并返回一个空的主地址

这仍然是推荐的方法吗?多年来,我一直在想如何最好地解决这个问题。