看板 C_Sharp 關於我們 聯絡資訊
小弟最近無意間看到類別多型可以自製成類似list的東西,不知道觀念對不對 還有想自製型別要如何做 class clsA<T> where T : clsB { private List<clsB> mB = new List<clsB>(); public T this[int Index] { get {return (T) mB[Index];} set {mB[Index] = value; } } public void Add(clsB b) { ........ } } class clsB { public int X; } 這樣我可以直接給實作後的東西使用Index作讀取 clsA AAA = new clsA(); clsB BBB = new clsB(); BBB.X = 5; AAA.Add(BBB); 然後對AAA[Index]的X作讀寫 return AAA[Index].X; AAA[Index].X = 10; 我現在想直接賦予AAA值或直接讀取AAA然後回傳一個我想要的值 AAA = 10; return AAA; 這個class要如何做,還是不能做 類似宣告int int iii; iii = 10; string sss = iii.ToString(); -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.200.85 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1442383750.A.8FE.html
m339606: 看不懂你的需求點在哪 09/16 23:34
m339606: 應該說為什麼要這樣做? 還是單純只是想知道能不能做 09/16 23:35
TameFoxx: AAA是一個Array AAA=10 是一個什麼樣的概念?? 09/17 09:39
TameFoxx: 你能不能講清楚一點你的問題 09/17 09:39
抱歉我不知道要如何說明白 大致上是我想要直接把值給實作出來的class而非給class內部的變數 class clsBird { private string Name; } 現在我想在任意時間點直接做強轉型給值 class clsBird Bird = new Bird(); ... Bird = (clsBird)"ThirtyCM"; 而非只能在一開始給建構值 clsBird Bird = new clsBird("ThirtyCM"); 因為不是很懂強轉型,弄半天弄不出來,所以上來請教大家 ※ 編輯: dabiddabid (60.250.200.85), 09/18/2015 11:07:14
juriolegend: operator 09/19 05:22