Это отдельный вопрос, делать ли его синонимом для статичных полей, методов, свойств и т.п.
Или, возможно сделать, как с for. Там если переменную не объявлять - даёт предупреждение, “так не надо”. И тут давать предупреждение когда статичное поле или т.п. объявлено с class или static.
Но это всё же отдельный вопрос. И его не обязательно решать перед тем как разрешить снова делать статичные классы.
Должен согласиться с @ibond. Ошибки не будет. Скорее всего в статических классах обяжут ко всем членам ставить class или static, как в C#. Там если класс объявлен как статический, то у всех членов поголовно должен стоять static. В Вашем случае, будет class class class. Но я ни в коем случае не говорю, что объявление class class для статики - хорошо. Большинство за static class и я в их числе.
Мешанина, потому что статические члены класса описываются с помощью class. делать какие-то синонимы ради static class плохая идея. а namespace class end избавит от конфликтов в class class и дублирующих конструкций static и class.
Я предлагаю static class и static method - а class method оставить лишь для совместимости и нигде не писать - скоро про него забудут. А код Delphi будет компилировтаься
А зачем, кстати, вы так держитесь за совместимость с Delphi? Если большая часть программ всё равно требует перевода, и с Delphi на паскаль мало кто желает переходить.
Type My = namespace
var b:byte
Type A = Class
End;
End;
Вы когда нибудь видели в .Net переменные, которые идут сразу за пространством имён? Я вот нет. Такого типа переменные встречаются только в виде статичных полей классов.
Да я ж не про то. Я про настоящие неймспейсы. Не статические классы. А про переменную в неймспейсе ещё вопрос. Если CLR поддерживает такую конструкцию, то её можно реализовать.