从不同类中的方法访问ArrayList

时间:2012-08-24 09:39:16

标签: c#

我在学院以外的第一个项目上工作。 我有两节课。在第一个我有一个方法,它添加字符串到arraylist。 在第二个类中,我想从前一个类中的方法访问arrayList,并获取它的元素。

我怎么能这样做? 谢谢你的帮助。

4 个答案:

答案 0 :(得分:0)

您可以在第一个类中将ArrayList公开为静态属性,然后您可以从第二个类访问该属性。

public class First
{
    public static ArrayList MyList { get; set; }
}

public class Second
{
    public void SomeMethod()
    {
        //First.ArrayList will give you access to that class
    }
}

最好是根本不使用ArrayList (如果你使用的是.Net 2.0或更高版本)而是使用类型安全的List

答案 1 :(得分:0)

除非您使用的是.NET 1.1,否则我会避免ArrayLists并使用强类型对等List<T>

您需要在类1中创建方法public。然后,如果它是static,或者如果您有类1的实例,则可以从类2中访问它。

例如:

public class Class1{
    public List<String> getList()
    {
        // create the list and return it
    }
}

public class Class2{
    Class1 firstClass{ get;set; }
    void foo()
    {
        // now you can access the List<String> of class1 via it's instance
        List<String> list = firstClass.getList();
        foreach(String s in list)
        {
            // do something
        }
    }
}

答案 2 :(得分:0)

最好的选择是使用一个公开arraylist的readonly属性,如下所示:

class MyClass
{
    private ArrayList FArrayList;
    public ArrayList ArrayList { get { return FArrayList; } }

    ...

答案 3 :(得分:0)

试试这个..

public class First
{
    public ArrayList MyList;
    public First()
    {
       MyList = new ArrayList();
    }
    public void AddString(string str)
    {
       MyList.Add(str);
    }
}
public class Second
{
    public void someMethod()
    {
       First f = new First();
       f.AddString("test1");
       f.AddString("test2");
       f.AddString("test3");
       ArrayList aL = f.MyList; // you will get updated array list object here.
    }
}