/// <summary>
        /// Вспомогательный метод для создания квадратной карты без создания экземпляра фабрики.
        /// </summary>
        /// <param name="mapSize"> Размер карты. </param>
        /// <returns> Возвращает объект карты. </returns>
        public static async Task <ISectorMap> CreateAsync(int mapSize)
        {
            var factory = new SquareMapFactory();

            var squaregenerationOptionsSubScheme = new SquareGenerationOptionsSubScheme {
                Size = mapSize
            };
            var generationOptions = new SectorMapFactoryOptions(squaregenerationOptionsSubScheme);

            return(await factory.CreateAsync(generationOptions).ConfigureAwait(false));
        }
Example #2
0
        /// <summary>
        /// Вспомогательный метод для создания квадратной карты без создания экземпляра фабрики.
        /// </summary>
        /// <param name="mapSize"> Размер карты. </param>
        /// <returns> Возвращает объект карты. </returns>
        public static async Task <ISectorMap> CreateAsync(int mapSize)
        {
            var factory = new SquareMapFactory();

            //TODO Объяснить, почему тут нужно использовать ConfigureAwait(false)
            // Это рекомендация Codacy.
            // Но есть статья https://habr.com/ru/company/clrium/blog/463587/,
            // в которой объясняется, что не всё так просто.
            // Нужно чёткое понимание, зачем здесь ConfigureAwait(false) и
            // к какому результату это приводит по сравнению с простым await.
            return(await factory.CreateAsync((object)mapSize).ConfigureAwait(false));
        }
        /// <summary>
        /// Вспомогательный метод для создания квадратной карты без создания экземпляра фабрики.
        /// </summary>
        /// <param name="mapSize"> Размер карты. </param>
        /// <returns> Возвращает объект карты. </returns>
        public static async Task <ISectorMap> CreateAsync(int mapSize)
        {
            var factory = new SquareMapFactory();

            return(await factory.CreateAsync((object)mapSize));
        }