есть код на BlitzMax:
Global TCSGWorld_List:TList = New TList
Type TCSGWorld
Method New()
Add(TCSGWorld_List)
End Method
Method Add(t:TList)
_list=t
_link=_list.AddLast(Self)
End Method
Method Remove()
_list.remove Self
End Method
Method Delete()
_list.remove Self
_link = Null
End Method
Method After:TCSGWorld()
Local t:TLink
t=_link.NextLink()
If t Return TCSGWorld(t.Value())
End Method
Method Before:TCSGWorld()
Local t:TLink
t=_link.PrevLink()
If t Return TCSGWorld(t.Value())
End Method
Method AddBrush(b:TCSGBrush)
b.Add(Brush_list)
End Method
Method RebuildWorld(dynamic=False)
Local b:TCSGBrush
For b = EachIn Brush_list
b.CSG(Self,False,dynamic)
Next
End Method
Field Brush_list:TList = New TList
Field id=CountList(TCSGWorld_List)
Field _list:TList
Field _link:TLink
End Type
Как мне реализовать это на C#?
Проблема в том что я не знаю как реализовать перемещение по _list (см. Method After:TCSGWorld(), Method Before:TCSGWorld()).
В BlitzMax для этого используется TLink, а C# х.з.
Поможите!
З.Ы. Если можно код плз.