Sorting an object collection using a delegate

class Person
constructor( cName as string )
self:Name := cName
return
public property Name as string auto
end class
local oPersons as List<Person>
oPersons := List<Person>{}
oPersons:Add( Person{ "Robert" } )
oPersons:Add( Person{ "Fabrice" } )
oPersons:Add( Person{ "Chris" } )
oPersons:Add( Person{ "Nikos" } )

oPersons:Sort( ;
  delegate( o1 a Person, o2 as Person ) {
    local nResult as int
    nResult := o1:Name:CompareTo( o2:Name )
    return nResult
    } ;
  )