Это успешно компилируется.
module P
{
public static Main() : void
{
def MyStringExtension(this instance : string) : string
{
"MyStringExtension : " + instance;
}
}
}
Мне кажется, нужно запретить подобный код.
Есть другие соображения на этот счет ?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, _nn_, Вы писали:
__>>Мне кажется, нужно запретить подобный код.
VD>Пока — да. Слишком много траха для реализации. Но на будущее может и реализуем данную фичу. В принципе прикольно ведь.
Тогда и params запретить, т.к. он тоже игнорируется.
А также создает непредсказуемое поведение (из-за автоматического создания тупла):
def f(params x : array[int]) { x }
def g(params x) { x }
_ = f(1, 2, 3); // Ошибка
_ = g(1, 2, 3); // OK, typeof(x) == int * int * int ?!