22 lines
777 B
ObjectPascal
22 lines
777 B
ObjectPascal
|
|
type
|
|||
|
|
// Обязательно внутри класса
|
|||
|
|
t1 = class
|
|||
|
|
|
|||
|
|
// Не важно, статический ли метод
|
|||
|
|
//
|
|||
|
|
// Обязательно имя Equals
|
|||
|
|
//
|
|||
|
|
// Обязательно первый параметр - класс
|
|||
|
|
// (из .dll или паскалевский - не важно)
|
|||
|
|
//
|
|||
|
|
// Обязательно p должен принимать параметр,
|
|||
|
|
// чтобы лямбда ниже его авто-вычисляла
|
|||
|
|
public static function Equals(o: Exception; p: byte->()) := true;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
begin
|
|||
|
|
// Обязательно передать именно лямбду,
|
|||
|
|
// а не существующую подпрограмму
|
|||
|
|
assert(t1.Equals(nil, l->begin end));
|
|||
|
|
end.
|