Единая форма методов расширения в intellisense #129

Closed
miks1965 opened this Issue Apr 4, 2016 · 3 comments

Projects

None yet

2 participants

@miks1965
Contributor
miks1965 commented Apr 4, 2016

Методы интеллисенс, пришедшие из .NET и определенные в Паскале, подсказываются по-разному:

<расширение> function IEnumerable<>.Distinct<>(): sequence of TSource;

<расширение> function Cycle<T>(Self: sequence of T): sequence of T;

Мне нравится второе и не нравится первое. Предлагаю всё сделать в стиле второго.

@ibond84
Contributor
ibond84 commented Apr 14, 2016 edited

Довольно спорно. Первое более читабельно, ибо сразу видно что расширяем. А паскалевские методы расширения выводятся так, потому что нельзя написать
function <array of T>.Sum()

@miks1965
Contributor
miks1965 commented Aug 1, 2016

Предлагаю всё-таки вернуться к этому вопросу - и сделать для Distinct вот такую подсказку:

<расширение> function Distinct<T,TSource>(Self: sequence of T): sequence of TSource;

Понятно, что расширяется первый параметр

@ibond84 ibond84 added a commit that referenced this issue Dec 18, 2016
@ibond84 ibond84 #129 a15e7c9
@ibond84
Contributor
ibond84 commented Dec 18, 2016

Нет, self: sequence of T это плохо и мешает интеллисенсу подсвечивать параметры после ввода запятой. В студии тоже используется нотация IEnumerable<>. Так что привел в соответствие форму паскалевских методов расширения. Для массивов и прочих типов с пробелом в имени выводится так
(расширение array of T) Shuffle();

@ibond84 ibond84 closed this Dec 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment