1
我正在.NET(C#)中處理日曆應用程序。讓幾個對象的屬性指向同一個對象
通常,用戶從複選框列表中檢查姓名,然後他可以在日曆上看到每個人的所有事件。
我有例如CalendarWeek對象,CalendarEvent對象和CalendarTableCell對象。
我需要他們所有的人都有一個列表作爲一個屬性,但它必須是所有的列表。
我想我應該用這個指針,我沒有真正理解我找到的指南,所以我想要一些幫助。
我正在.NET(C#)中處理日曆應用程序。讓幾個對象的屬性指向同一個對象
通常,用戶從複選框列表中檢查姓名,然後他可以在日曆上看到每個人的所有事件。
我有例如CalendarWeek對象,CalendarEvent對象和CalendarTableCell對象。
我需要他們所有的人都有一個列表作爲一個屬性,但它必須是所有的列表。
我想我應該用這個指針,我沒有真正理解我找到的指南,所以我想要一些幫助。
我需要他們所有人都有一個列表作爲一個屬性,但它必須是在他們所有相同的列表。
如果您需要多個對象來使用同一個列表,那絕對沒有問題:創建一個列表對象,並將它傳遞給需要使用它的類的構造函數。像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
添加列表屬性,每個類,創建一個列表實例,並指定要列出每個列表屬性對象你有(CalendarWeek等)。然後他們將指向相同的列表對象。 – user469104
你是否熟悉'ref'關鍵詞...? – MethodMan
你是否熟悉單身? – DidIReallyWriteThat