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