Size: a a a

2020 March 23

ГЛ

Георгий Левченко... in CODE BLOG / C#
Получается запутанно
источник

S

Sergey Trofimov in CODE BLOG / C#
можно хоть кусочек метода в другом потоке обработать, так именно async работает. Ничго в этом страшного нет
источник

ГЛ

Георгий Левченко... in CODE BLOG / C#
Я именно хочу код разнести, чтобы это всё не было в одном месте
источник

S

Sergey Trofimov in CODE BLOG / C#
Георгий Левченко
Я именно хочу код разнести, чтобы это всё не было в одном месте
разноси) какая разница в каком потоке оно обрабатываться будет? Классы и потоки не взаимосвязанны
источник

ГЛ

Георгий Левченко... in CODE BLOG / C#
Так а метод, которые будет приниматься делегатом, как мне вынести в другой класс?
источник

S

Sergey Trofimov in CODE BLOG / C#
Георгий Левченко
Так а метод, которые будет приниматься делегатом, как мне вынести в другой класс?
class A
   {
       void INeedSecondThread()
       {
           var b = new B();
           var t = new Thread(b.DoSomething);
       }
   }

   class B
   {
       public void DoSomething()
       {
           //Do Work
       }
   }
источник

ГЛ

Георгий Левченко... in CODE BLOG / C#
Sergey Trofimov
class A
   {
       void INeedSecondThread()
       {
           var b = new B();
           var t = new Thread(b.DoSomething);
       }
   }

   class B
   {
       public void DoSomething()
       {
           //Do Work
       }
   }
Я тебя очень благодарю. Именно это я и хотел. Просто не знал, что так можно 😃
источник

S

Sergey Trofimov in CODE BLOG / C#
Георгий Левченко
Я тебя очень благодарю. Именно это я и хотел. Просто не знал, что так можно 😃
ну именно это нормально. Просто насколько оправдано такое разделение одного класса на 2 это уже смотреть нужно
источник

S

Sergey Trofimov in CODE BLOG / C#
А потоки на то и потоки, чтобы кусок кода выполнять где-то в контексте вторичного потока, а классы там не  причем
источник

ГЛ

Георгий Левченко... in CODE BLOG / C#
Ну это уже отдельная история😁Просто получается так, что этот поток всё жизнь программы будет существовать
источник

Ч

Черный пес in CODE BLOG / C#
Sergey Trofimov
class A
   {
       void INeedSecondThread()
       {
           var b = new B();
           var t = new Thread(b.DoSomething);
       }
   }

   class B
   {
       public void DoSomething()
       {
           //Do Work
       }
   }
лучше статик объявить, чтобы не создавать объект
источник

S

Sergey Trofimov in CODE BLOG / C#
Черный пес
лучше статик объявить, чтобы не создавать объект
спорно) в кокретно с классами A и В может и лучше, а если классы сложнее, то сильная связанность получается, что плохо
источник

OK

Oleg Kurbatov in CODE BLOG / C#
источник

АМ

Андрей Мацко... in CODE BLOG / C#
Доброго дня. Wpf mvvm. ObservsbleCollection. Можно ли как то на время обновления коллекции в другом потоке отключить обновление интерфейса? Пару тысяч элементов в отдельной таске меняю visibility и весь интерфейс виснет
источник

PE

Pavel Efanov in CODE BLOG / C#
Андрей Мацко
Доброго дня. Wpf mvvm. ObservsbleCollection. Можно ли как то на время обновления коллекции в другом потоке отключить обновление интерфейса? Пару тысяч элементов в отдельной таске меняю visibility и весь интерфейс виснет
Может тогда имеет смысл отделную коллецкию для обновления зависти, а уже потом присвоить изменения в интерфейсе?
источник

АМ

Андрей Мацко... in CODE BLOG / C#
Если отдельная коллекция, то слетают все биндинги. Сейчас в цикле обхода прикрутил task.delay(10).wait(). Но время обхода значительно увеличилось. А элементов под 16к. В общем ощутимо (
источник

PE

Pavel Efanov in CODE BLOG / C#
Андрей Мацко
Если отдельная коллекция, то слетают все биндинги. Сейчас в цикле обхода прикрутил task.delay(10).wait(). Но время обхода значительно увеличилось. А элементов под 16к. В общем ощутимо (
И ты прямо 16К элементов отображаешь в интерфейсе одновременно?
источник

PE

Pavel Efanov in CODE BLOG / C#
Ты уверен что ты все делаешь правильно?
источник

АМ

Андрей Мацко... in CODE BLOG / C#
Конечно не уверен)) в элементе включена виртуализация, на данном этапе это помогает от диких лагов)
источник

PE

Pavel Efanov in CODE BLOG / C#
А что ты такое отображаешь, если не секрет? Просто сложно представить задачу, в которой столько элементов в интерфейсе вообще помещаются))
источник