从C#中的两个类添加到列表

时间:2012-11-14 12:56:53

标签: c#

我在一个班级中有一个列表。我需要从另一个类填充列表。然后我需要访问列表中的一个或两个其他类。我不想使用静态列表。这是如何在C#中完成的。我已经尽力了。但没有成功。有人可以举例吗?。

3 个答案:

答案 0 :(得分:3)

使用get我会建议

这是列表的位置

class A
{

    private list<Objects> myList = new list<Objects>();

    public list<Objects> getList()
    {
        return myList;
    }
}

这是您想要使用它的地方

class B
{
    private list<Objects> myNewList = new list<Objects>();
    A a = new A();

    public void setList()
    {
        myNewList = a.getlist();
    }
}

像这样的东西。如果在不同的文件中,请记住相同的名称空间,以便彼此了解

答案 1 :(得分:2)

这听起来像是公共财产的工作。

// I'm assuming a List of strings, fix accordingly
public class A
{
    //Not autoimplemented to ensure it's always initialized
    private List<string> items = new List<string>();
    public List<string> Items
    {
        get { return items; }
        set { items = value; }
    }
}

public class AnyoneElse
{
     void someMethod()
     {
         A someVar = new A();

         someVar.Items.Add("This was added from outside");

         MessageBox.Show(someVar.Items.First());
     }
}

应该适当调整访问修饰符(它们主要取决于你的命名空间结构。另外,同一个程序集中的类和消费者是不是?无论如何,这一点应该足够明确了。)

答案 2 :(得分:0)

这是您需要的基本示例

public class YourOriginalClass
{
    /// <summary>
    /// The list you want to access
    /// </summary>
    public List<YourType> YourList { 
       get; 
       set; 
    }
}

// Here another class where you can use the list
public class YourSecondClass
{
    public void EditMyList()
    {
       YourOriginalClass test = new YourOriginalClass();
       test.YourList = new List<YourType>();
       // then you can populate it
    }
}