Показать сообщение отдельно
Старый 01.08.2010, 10:47   #1
Miha
Нуждающийся
 
Регистрация: 07.04.2007
Сообщений: 50
Написано 5 полезных сообщений
(для 30 пользователей)
Перемещение по IList

есть код на 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# х.з.
Поможите!
З.Ы. Если можно код плз.
(Offline)
 
Ответить с цитированием