21 lines
360 B
ObjectPascal
21 lines
360 B
ObjectPascal
|
|
type
|
|||
|
|
TClass = auto class
|
|||
|
|
i: integer
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function operator implicit(i: integer): set of integer; extensionmethod;
|
|||
|
|
begin
|
|||
|
|
Result := [i];
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function operator implicit(i: integer): TClass; extensionmethod;
|
|||
|
|
begin
|
|||
|
|
Result := new TClass(i);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
begin
|
|||
|
|
var s: set of integer := 2;
|
|||
|
|
assert(s = [2]);
|
|||
|
|
var o: TClass := 2;
|
|||
|
|
assert(o.i = 2);
|
|||
|
|
end.
|