我有一堂课的清单。我需要从另一个类填充列表。然后我需要访问列表中的一两个其他类。我不想使用静态列表。这是如何在 C# 中完成的。我已经尽力了。但并不成功。任何人都可以举个例子吗?
问问题
388 次
3 回答
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();
}
}
像这样的东西。如果在不同的文件中,请记住相同的命名空间以便类相互了解
于 2012-11-14T13:05:31.263 回答
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());
}
}
应该适当地调整访问修饰符(它们主要取决于您的命名空间结构。此外,类和消费者是否在同一个程序集中?无论如何,这一点应该足够清楚)。
于 2012-11-14T13:15:21.703 回答
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
}
}
于 2012-11-14T13:10:51.107 回答