Obecnie tworzę własną bardzo podstawową klasę ogólną listę klasy (aby lepiej zrozumieć, jak działają te predefiniowane). Mam tylko problem polegający na tym, że nie mogę dotrzeć do elementów wewnątrz tablicy, jak to zwykle bywa na przykład, używając "System.Collections.Generic.List
".Ogólna lista klas w C#
GenericList<type> list = new GenericList<type>();
list.Add(whatever);
Działa to dobrze, ale podczas próby dostępu „cokolwiek” Chcę, aby móc napisać :
list[0];
Ale to oczywiście nie działa ponieważ jestem wyraźnie czegoś brakuje w kodzie, co muszę dodać do mojej w pełni działającej klasy ogólnej?
Co robi swoją klasę 'GenericList' wygląda jak? – LukeHennerley
Nawiasem mówiąc, jedną z funkcji, która może być użyteczna na liście ogólnej, jest metoda 'public void ActOnElement (indeks int, ActByRef proc, ref TP1 param1) {proc (ref Array [index], ref TP param1); } 'która pozwoli kodowi działać bezpośrednio na pozycji listy [przyjmij' public delegate void ActByRef (ref T1 p1, ref T2 p2); ']. Jeśli masz np. a 'GenericList ', taka metoda może pozwolić kodowi na wypowiedzenie 'myList.ActOnItem (index, (ref Rectangle r, ref int v) => {rX - = v; r.Width + = v;}, ref widthAdjust) aby zaktualizować element listy "w miejscu". –
supercat