我有一个BindingList对象。这些对象包含要通过数据绑定视图显示的公共属性。不幸的是,我无法获得返回包含对象的字段数据的属性。就拿下面的人为的例子:Datagridview和包含对象的属性
Public Class ChimpDiet
{
public string favoritefood;
}
Public Class Chimpanzee
{
private ChimpDiet diet;
[DisplayName("Chimp's favorite food")]
public string favoritefood
{ get { return diet.favoritefood; } }
[DisplayName("Chimp's nickname")]
public string nickname { get; set; }
public Chimpanzee()
{
diet = new ChimpDiet();
}
}
当我设置黑猩猩的的BindingList作为在DataGridView的数据源,favoritefood导致错误弹出的属性:发生在DataGridView
以下异常:
System.Reflection.TargetInvocationException:属性访问.... 发生以下异常:“对象引用不设置为一个对象.'.....
M的一个实例确保一个实例总是在容器对象的构造函数中创建,但这不能解决问题。有什么建议么?这是网2.0上
p.s.数据由网格显示,只是这个错误不断弹出,表示引用没有设置为实例,即使它显然是。这必须是一个winforms问题。
UPDATE:将ChimpDiet从一个类更改为一个结构体将删除错误。 但我需要它是一个班级。这对我来说没有意义。