2014-12-19 105 views
1

我正在.NET(C#)中處理日曆應用程序。讓幾個對象的屬性指向同一個對象

通常,用戶從複選框列表中檢查姓名,然後他可以在日曆上看到每個人的所有事件。

我有例如CalendarWeek對象,CalendarEvent對象和CalendarTableCell對象。

我需要他們所有的人都有一個列表作爲一個屬性,但它必須是所有的列表。

我想我應該用這個指針,我沒有真正理解我找到的指南,所以我想要一些幫助。

+0

添加列表屬性,每個類,創建一個列表實例,並指定要列出每個列表屬性對象你有(CalendarWeek等)。然後他們將指向相同的列表對象。 – user469104

+0

你是否熟悉'ref'關鍵詞...? – MethodMan

+0

你是否熟悉單身? – DidIReallyWriteThat

回答

0

我需要他們所有人都有一個列表作爲一個屬性,但它必須是在他們所有相同的列表。

如果您需要多個對象來使用同一個列表,那絕對沒有問題:創建一個列表對象,並將它傳遞給需要使用它的類的構造函數。像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 
相關問題