mindtester
@mindtester
http://iczin.su/hexagram_48

Возможно смешной вопрос, но — в Delphi существует аналог «методов-раширений C#»?

даже не знаю как лучше? процитировать? или дать ссылку? был вопрос о дебаге в C#, там я как раз иллюстрировал излюбленные приемы.. попробую сделать большую цитату:
можно реализовать свой простейший логгер в виде расширения (в утилитарном статическом классе), пример
internal static void log(this string txt) => tbLog.AppendText(txt + Environment.NewLine);

потом очень удобно использовать в любом месте
$"что то прошло не так, параметры первый {} и второй {}".log();

... и еще удобные опции компилятора, для конструкций, которые явно не нужны в продакшене
#if DEBUG
            var sw = new Stopwatch();
            sw.Start();
#endif
            /// что то делаем
#if DEBUG
            sw.Stop();
            var ts = sw.Elapsed;
            $"total time:".log();
            $"\t{ts.Hours:00}:{ts.Minutes:00}:{ts.Seconds:00}.{ts.Milliseconds:000}".log();
#endif

.. повторюсь - Delphi выпущен community... но после привычек к "сладкому"... стоит ли?
другой вопрос - если там свои сахарины все таки есть

ps если сахараны есть в Lazarus - все равно буду благодарен за инфу
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
Метод-расширение: XE3+, helper class.
docwiki.embarcadero.com/RADStudio/Tokyo/en/Class_a...

Условная компиляция: ещё со времён Трубо-паскаля, директивы компилятора
{$IFDEF DEBUG}
{$ENDIF}
docwiki.embarcadero.com/RADStudio/Tokyo/en/Conditi...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы