我在学院以外的第一个项目上工作。 我有两节课。在第一个我有一个方法,它添加字符串到arraylist。 在第二个类中,我想从前一个类中的方法访问arrayList,并获取它的元素。
我怎么能这样做? 谢谢你的帮助。
答案 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.
}
}