我正在使用.NET(C#)中的日历应用程序。
通常,用户从复选框列表中检查名称,然后他可以在日历上查看每个人的所有事件。
我有例如CalendarWeek对象,CalendarEvent对象和CalendarTableCell对象。
我需要所有人将List作为属性,但它们必须在所有属性中都是相同的列表。
我想我应该使用指针,我没有真正理解我找到的指南,所以我想要一些帮助。
答案 0 :(得分:0)
我需要所有人将List作为属性,但它们必须在所有属性中都是相同的列表。
如果您需要多个对象来使用相同的列表,那么绝对没有问题:创建一个列表对象,并将其传递给需要使用它的类的构造函数。像C#中的所有类一样(与struct
和原语相对)List<T>
和其他集合是引用对象。在您的情况下,这意味着如果您为不同对象中的实例字段分配List<T>
,则这些字段将引用相同的列表。
class CalendarEvent {
public List<Stuff> ListOfStuff {get;private set;}
public CalendarEvent(List<Stuff> myList) {
ListOfStuff = myList;
}
}
class CalendarWeek {
public List<Stuff> ListOfStuff {get;private set;}
public CalendarWeek(List<Stuff> myList) {
ListOfStuff = myList;
}
}
...
// Create a list
List<Stuff> theList = new List<Stuff>();
// Add things to it
theList.Add(...);
// Make CalendarEvent and CalendarWeek
var ce = new CalendarEvent(theList);
var cw = new CalendarWeek(theList);
// At this point ce.ListOfStuff and cw.ListOfStuff have the same list