使用表单中的类列表

时间:2016-12-27 19:38:56

标签: c# winforms

说我有以下课程:

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。这怎么可能?

2 个答案:

答案 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:

Form1.cs的

Names.Clothes.Add()

我当然要强调,这些不是唯一的方法,当然也不是最好的方法 - 只需要几个简单的例子就可以实现你想要的。如果这仍然不起作用,那么你必须更清楚地了解你期望的最终结果,以及你究竟是如何完成它的。

答案 1 :(得分:0)

您可以使Form2的构造函数接受ListArticle个对象。 此外,如果您的系统中只有一个ListArticle,那么您可以将该类及其所有属性设为Static