<< Click to Display Table of Contents >> Разработка > Программный код > Разрешенные и запрещенные конструкции > Классы .NET Разрешенные классы |
Разрешается использовать простые типы, включая nullable, а также методы из их классов. Например, разрешается использовать методы: •объекта String: str.Substring(0, 5); str.Split('|'); str.Trim(); str.Replace('|', ';'); str.IsNullOrWhiteSpace(); •класса String: string.Format("{0} {1}", str1, str2); string.Join("\n", messages); •объекта DateTime: date.AddDays(1); date.AddMonths(1); date.ToShortDateString() Важно. Запрещается получать текущее время через класс DateTime. Вместо DateTime.Today используйте Calendar.Today, а вместо DateTime.Now – Calendar.Now. Запрет на использование этих свойств через класс DateTime связан с тем, что они возвращают дату и время в часовом поясе, установленном на ПК пользователя, а не в часовом поясе веб-сервера. Также запрещается использовать свойство DateTime.Kind со значением Local, так как в этом случае дата автоматически преобразуется с учетом часового пояса, установленного на ПК пользователя, а не часового пояса веб-сервера. В дальнейшем это приводит к искажению данных. |
Разрешается использовать классы коллекций и методы, которые они предоставляют: •System.Collections.Generic.Dictionary; •System.Collections.Generic.List; •System.Array. Разрешается использовать методы коллекций: dictionary.TryGetValue("key1", out Value); list.Contains(range); Разрешается передавать коллекции в функциях: Dictionary<string, DateTime?> GetPlanActualDates(string planKasId, string planStageKasId); List<DateTime?> GetPlanActualDates(string planKasId, string planStageKasId); |
Разрешается использовать любые методы расширения LINQ: First(), OrderBy(), Any() и т.д. Примеры см. в разделе «LINQ и лямбда-выражения». При этом есть исключение. В клиентском или серверном коде при обращении к списку сущностей через репозиторий запрещается использовать следующие методы расширения: .Concat() .Distinct() .GroupBy(p => p.Id) .Last() .LastOrDefault() .Max(p => p.Number) .OfType<IEmployee>() .SelectMany(p => p.Versions) .Sum(p => p.Number) .Union() |
Разрешается использовать методы класса Math. Например: var result = Math.Round(value, 2); |
© Компания Directum, 2024 |