Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
12 / 12 / 3
Регистрация: 17.08.2010
Сообщений: 84

Теория создания обертки для методов

09.06.2011, 23:17. Показов 5578. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Помогите пожалуйста в следующем вопросе.
Допустим у меня есть классы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A 
{
void methodA(object parametrs)
{
   //тут есть некоторый код - Код1
}
}
class B 
{
void methodB(object parametrs,object parametrs2)
{
   //тут есть некоторый код - Код2
}
}
У меня есть задача - сделать вызовы Код1 и Код2 в отдельном потоке, т.е. сделать как то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class A 
{
void methodA(object parametrs)
{
 КлассОбертка.Код1
 
}
}
class B 
{
void methodB(object parametrs,object parametrs2)
{
   КлассОбертка.Код2
}
}
Вопрос - по какому принципу создается этот клас обертка. Буду очень рад примеру. Код1 и Код2 планируется выносить в два интерфейса.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.06.2011, 23:17
Ответы с готовыми решениями:

Lazy load - Как без создания обертки вставлять блоки?
Привет делаю lazy load и код примерно такой: В ответ сервер отправляет html. Не подскажите, как без создания обертки вставлять блоки? ...

SFML окно, нету методов создания поля для ввода?
Вот понадобилось в окне поле для ввода, вот только где мне его найти, создавши консольный проект, и создавши окно при помощи SFML ...

По предмету "Теория развития ПО" выбрать тему для создания проекта
Доброго всем дня) Нужна небольшая ваша помощь. По предмету "Теория развития ПО" сказали выбрать тему для создания проекта. Проблема в...

4
мастер топоров
 Аватар для Koran
917 / 742 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
09.06.2011, 23:42
если честно, то не особо понял про класс-обертку.
если вы хотите сделать класс, который запускал бы нужный вам код в отдельном потоке, тогда используйте System.Thread и делегаты
вы можете запустить свой код в отдельном потоке сразу при вызове метода класса
0
12 / 12 / 3
Регистрация: 17.08.2010
Сообщений: 84
10.06.2011, 08:06  [ТС]
Цитата Сообщение от Koran Посмотреть сообщение
если честно, то не особо понял про класс-обертку.
если вы хотите сделать класс, который запускал бы нужный вам код в отдельном потоке, тогда используйте System.Thread и делегаты
вы можете запустить свой код в отдельном потоке сразу при вызове метода класса
Могли бы Вы привести пример для данного случая с использованием System.Thread и делегатов? Вероятно это и нужно.
0
Заблокирован
10.06.2011, 08:52
Цитата Сообщение от Razinalex Посмотреть сообщение
Могли бы Вы привести пример для данного случая с использованием System.Thread и делегатов?
Может быть ты это имеешь ввиду?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    class Program
    {
        class A
        {
            void methodA(object parametrs)
            {
                //тут есть некоторый код - Код1
            }
        }
        class B
        {
           public void methodB(object parametrs, object parametrs2)
            {
                Console.WriteLine(parametrs + " = {0}", parametrs2);
            }
        }
        static void Main(string[] args)
        {
            B b = new B();
            new System.Threading.Thread(delegate() { b.methodB("Значение", 32); }).Start();
            
            Console.ReadKey();
        }
0
12 / 12 / 3
Регистрация: 17.08.2010
Сообщений: 84
10.06.2011, 10:57  [ТС]
Цитата Сообщение от SYD Посмотреть сообщение
Может быть ты это имеешь ввиду?
Ну примерно так. Вот что у меня сейчас получилось:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public class ThreadWithEnUsCulture
    {
        
        public static void StartInNewThread(ThreadStart func)
        {
            Thread t = new Thread(MakeFuncWithEnUsCulture);
            t.Start(func);
            t.Join();
        }
        static void MakeFuncWithEnUsCulture(object func)
        {
            using (new ExcelChangeCultureHelper())
            {
                //Запуск func;
            }
        }
    }
Код1 и Код2 я вынес в отдельные методы и передаю их через delegate () в
C#
1
ThreadWithEnUsCulture.StartInNewThread
Вопрос - каким образом в MakeFuncWithEnUsCulture в месте
C#
1
 //Запуск func;
можно указать, что тут требуется вызвать func?

Добавлено через 1 час 9 минут
Вопрос решился:
((ThreadStart) func).invoke();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2011, 10:57
Помогаю со студенческими работами здесь

Создание обёртки для работы с SessionState
В проекте имеется класс SessionStore с статическими свойствами, служащими для доступа к сессии. Проблема заключается в следующем: некоторые...

Использование тега <div> для обёртки
Привет всем,я совсем новчиок только вчера начал учить html+ css,и я понял что есть блочные элементы и не блочные,так вот при просмотре...

Теория создания
Как то с другом начали рассуждать , о том как могла возникнуть вселенная.И пришла мне в голову такая вот идея ... Что , если люди( или...

Использование css для обертки php кода
Здравствуйте. Я хочу, чтобы &quot;Ваш логин:&quot; и &quot;Ваш пароль:&quot; имели нужный мне внешний вид. Для этого я взял весь код в тег див, но нужного...

Написание потокобезопасной обертки для заданного интерфейса
Нам дали такое задание: Я создала интерфейс как сказано в задании: public interface MyObj { void setReady(boolean flag); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru