说我有以下课程:
public class ListArticle
{
public List<string> Clothes
{
get
{
return _clothes;
}
set
{
if (value != _clothes) _clothes = value;
}
}
public List<string> Colors
{
get
{
return _colors;
}
set
{
if (value != _colors) _colors = value;
}
}
private List<string> _clothes { get; set; }
private List<string> _colors { get; set; }
}
我想在我的列表中添加字符串,比如说form1,并以另一种形式使用它们,例如form2。这怎么可能?
答案 0 :(得分:1)
解决评论中的问题
我尝试在form1:
ListArticle Names = new ListArticle();
中声明一个这样的变量,但是当我尝试使用像Names.Clothes.Add();
这样的属性时,它无法正常工作..
取决于你的意思&#34;它没有工作&#34;但如果你真的只是这样做,那么听起来你实际上并没有创建你的{{1}尚未。
所以将课程改为此,然后再试一次:
List
(编辑)
执行上述操作将允许您执行public class ListArticle
{
public List<string> Clothes { get; private set; }
public List<string> Colors { get; private set; }
public ListArticle()
{
Clothes = new List<string>();
Colors = new List<string>();
}
}
之类的操作,而不会抛出异常(这是我解释您的评论的方式)。
现在让我们看看如何从Form1获取相同的数据到Form2:
Names.Clothes.Add()
我当然要强调,这些不是唯一的方法,当然也不是最好的方法 - 只需要几个简单的例子就可以实现你想要的。如果这仍然不起作用,那么你必须更清楚地了解你期望的最终结果,以及你究竟是如何完成它的。
答案 1 :(得分:0)
您可以使Form2
的构造函数接受ListArticle
个对象。
此外,如果您的系统中只有一个ListArticle
,那么您可以将该类及其所有属性设为Static
。