Общий код. Не знаю, как выполнить.

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 570
Реакции
632
Баллы
113
Приветствую!
Есть общий код.
Как мне его запустить из кубика и при этом, чтобы взялись данные из проекта?
Прошу помощи.

C#:
Развернуть Свернуть Копировать
public class MyFirstClass
    {
        public static IZennoPosterProjectModel project;
        private static async Task MainAsync()
        {
            // Client
            var client = new MyFirstClient();

            string request = project.Variables["request"].Value;
            // Get Info
            var info = await client.GetRequestInfo(request);
            int urlsCount = info.Count;
            for (int i=0; i < urlsCount; i++)
            {
                string Url = info[i].Url;
                project.SendErrorToLog("", Url, true);
            }
        }

    }
 
Приветствую!
Есть общий код.
Как мне его запустить из кубика и при этом, чтобы взялись данные из проекта?
Прошу помощи.

C#:
Развернуть Свернуть Копировать
public class MyFirstClass
    {
        public static IZennoPosterProjectModel project;
        private static async Task MainAsync()
        {
            // Client
            var client = new MyFirstClient();

            string request = project.Variables["request"].Value;
            // Get Info
            var info = await client.GetRequestInfo(request);
            int urlsCount = info.Count;
            for (int i=0; i < urlsCount; i++)
            {
                string Url = info[i].Url;
                project.SendErrorToLog("", Url, true);
            }
        }

    }

1. Добавить using System.Threading.Tasks;
2. project лучше передавать параметром в метод, иначе ваш шаблон будет работать только в 1 поток,
3. чтобы метод был видим надо его сделать public

После исправлений вызываем MyFirstClass.MainAsync(project)
Если нам надо чтобы кубик дождался выполнения, а не убежал дальше то вызываем MyFirstClass.MainAsync(project).Wait();

Накидал пример:
 

Вложения

  • tmp.xmlz
    tmp.xmlz
    12,5 KB · Просмотры: 276
  • Спасибо
Реакции: Meteorburn
Приветствую!
Есть общий код.
Как мне его запустить из кубика и при этом, чтобы взялись данные из проекта?
Прошу помощи.

C#:
Развернуть Свернуть Копировать
public class MyFirstClass
    {
        public static IZennoPosterProjectModel project;
        private static async Task MainAsync()
        {
            // Client
            var client = new MyFirstClient();

            string request = project.Variables["request"].Value;
            // Get Info
            var info = await client.GetRequestInfo(request);
            int urlsCount = info.Count;
            for (int i=0; i < urlsCount; i++)
            {
                string Url = info[i].Url;
                project.SendErrorToLog("", Url, true);
            }
        }

    }
Благодарю, вроде работает))
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)