1) Есть ли в планах добавить в компилятор перегрузку функций? Очень не хватает (сейчас приходится добавлять всякие суффиксы Ex, Ex2...)
По свойствам:
2) Есть ли в планах сделать автоматическую реализацию property.
Пример
Код: Выделить всё
public objinterface IExample
property Prop : string read write;
end;
interface Example
var _prop : string; // Здесь завели переменную, только для использования в проперти
property Prop : string absolute _prop;
end.
// Предлагаю добавить некоторый синтаксический сахар, вроде
interface Example
property Prop : string auto; // Здеcь добавляем какое-либо ключевое слово, вроде auto и получаем автоматическую реализацию, т.е. компилятор сам создает скрытое поле var $__prop__$ : string, которое будет использовано свойством
end.
// аналог можно посмотреть в C# 3.0 - очень удобная штука!
// class Example { private string _prop; public string Prop { get { return _prop; } set { _prop = value; } } }
// class Example { public string Prop { get; set; } } // 3.0 -> автоматическая реализация
Код: Выделить всё
public objinterface IExample
property Prop : string read; // Объявляем только чтение
end;
interface Example
var _prop : string;
property Prop : string absolute _prop; // Реализуем и чтение и запись (законно - ведь контракт на чтение не нарушен! Т.е. если будем работать ч/з ссылку на objinterface то будем только читать, если ч/з ссылку на vipinterface, то писать и читать)
end.
// Т.е. сделать реализацию подобно тому, как это сделано в том же C#
// interface IExample
//{
// string Prop { get; } // Только чтение
//}
//class Example : IExample
//{
// private string _prop;
// public string Prop { get { return _prop } set { _prop = value; } } // Чтение и запись
//}
Вроде пока все что вспомнил :)
Спасибо, что прочитали!