【发布时间】:2014-02-11 16:43:43
【问题描述】:
我正在尝试使用以下代码将值传递给同一对象的列表。
使用以下代码,我收到“字段初始化程序无法引用非静态字段、方法或属性”错误。
如果我更改姓氏属性来解决这个问题,我会得到另外 2 个错误。
这个想法是创建一个人的对象并将他们的姓氏传递给列表中的孩子。
代码:
public class Person
{
public Person()
{
}
private string name = "";
public string Name
{
get { return name; }
set { if (name != value) name = value; }
}
private string surname = "";
public string Surname
{
get { return surname; }
set { if (surname != value) surname = value; }
}
private Children sourceList = new Children(Surname);
public Children SourceList
{
get { return sourceList; }
set { if (sourceList != value) sourceList = value; }
}
}
[TypeConverter(typeof(TypeConverter))]
public class Children : List<Person>
{
public Children(string surname)
{
this.ForEach(person => { person.Surname = surname; });
}
}
请帮忙? 提前致谢。
【问题讨论】:
-
试试
private Children sourceList = null; -
困惑,鉴于您正在创建一个人,他们如何已经有孩子可以分配姓氏?
-
顺便说一句:
if(sourceList != value)也不起作用。 (除非你想比较对象的引用) -
我们的目标是获取一个现有有孩子的人的列表,并建立一种家谱,而不必为每个孩子重新输入姓氏。
-
请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记用于此目的。
标签: c# list object properties propertygrid