<< Click to Display Table of Contents >> Разработка > Программный код > Разрешенные и запрещенные конструкции > Язык C# Запрещенные возможности |
Запрещается использовать анонимные типы: var obj = new { Name = 'Name1' }; .Select(p => new { Name = p.Name }) Ограничение связано с тем, что они не передаются между сервером и клиентом. Вместо анонимных типов используйте структуры. |
Запрещается проверка типа: if (entity is IEmployee) Запрещается приведение к типу: var employee = entity as IEmployee; Ограничение связано с использованием ORM NHibernate: возможна ситуация, когда сущность приводится к интерфейсу, который она не реализует. В этом случае код не работает. Вместо этого используйте методы безопасной проверки и приведения к типу Employees.Is(entity) и Employees.As(entity). |
Запрещается создавать объекты с помощью оператора new: var result = new Tuple<long, DateTime>(id, date); var ex = new ArgumentOutOfRangeException("date"); Через оператор new разрешается создавать только коллекции. В остальных случаях используйте метод создания, который есть в указанном классе, например Create(). |
Запрещается использовать статические поля в прикладном коде: static List<double?> list = new List<double?>(); Поля не поддерживаются на уровне платформы. Вместо них используйте свойства. |
© Компания Directum, 2024 |