Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
3 / 3 / 0
Регистрация: 21.01.2013
Сообщений: 27
.NET 4.x

вызов потомком метода родителя

04.10.2013, 17:53. Показов 1294. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой. для вызова метода родителя использую делегат.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
namespace PrivatChatServer
{
    public delegate void myReport(string theItem);//Делегат
    SrvControl SRV = new SrvControl(new myReport(AddInfoToListBox));
    
        // добавляем инфу в лист бокс
        public void AddInfoToListBox(string s0)
        {
            try
            {
                if (this.ClientList.InvokeRequired)
                {
                    SetTextCallback d = new SetTextCallback(AddInfoToListBox);
                    this.Invoke(d, new object[] { s0 });
                }
                else
                {
                    // добавляем на форму
                    ClientList.Items.Add(s0);
                }
            }
            catch
            {
            }
        }
}
соответственно в классе:
C#
1
2
3
4
5
6
7
8
9
    public class SrvControl
    {
        ...
        myReport ReportDelegate;//переменная хранит делегат фyнкции вывода сообщения
        public SrvControl(myReport ReportDelegate)
        {
            this.ReportDelegate = ReportDelegate;
        }
эээ
и обращаюсь к делегату

C#
1
ReportDelegate("Подключен клиент: " + client.RemoteEndPoint.ToString());
Возникает ошибка, метод который вызывается AddInfoToListBox должен быть статический. но если его сделать статическим, то он не может обратиться к листбоксу.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2013, 17:53
Ответы с готовыми решениями:

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что метод не утрачивает связи с базовым...

Вызов методов классов друг у друга (вызов метода из другого класса)
Есть несколько классов, которые могут вызывать методы (функции) друг у друга. Логика: класс1 имеет метод А, класс2 имеет метод Б, класс1...

Вызов переменной метода A из метода В
Добрый день. Подскажите как происходит вызов Например даны два класс А и В, в каждом классе есть Метод 1 и метод 2 class A { void...

2
192 / 192 / 29
Регистрация: 03.12.2009
Сообщений: 853
04.10.2013, 18:11
Начнём с того что SrvControl не потомок главного класса.
А продолжим
Делегату можно назначить любой метод из любого доступного класса или структуры, соответствующий сигнатуре делегата, которая состоит из типа возвращаемого значения и параметров. Этот метод должен быть статическим методом или методом экземпляра.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
04.10.2013, 21:35
tretrem, забавно, у меня тоже были проблемы с подобными вещами. В итоге понял, что это дикие извраты и нужно делать по-другому. Что мешает просто кастовать к базовому классу и вызвать метод базового класса? К чему такие милые костыли?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2013, 21:35
Помогаю со студенческими работами здесь

вызов метода
Добрый день, подскажите пожалуйста почему при вызове метода pole из конструктора картинка не отображается, а если вызвать этот же метод по...

Многопоточный вызов метода
Есть некий сайт, страницы которого нужно спарсить (использую Html Agility Pack). Вызов начала парсинга происходит по нажатию кнопки в...

Правильный вызов метода
class Dict{ public List<Word> words; public Dict(){ words = new List<Word>(); } ...

Вызов метода в цикле While
Всем привет! Есть два метода: один шифрует пароль (получает строку - выводит зашифрованую строку) и есть метод разшифровки (получает...

Вызов метода из цикла
Есть List стрингов. Есть массив стрингов - ключевые слова. Есть набор методов, которые для каждого ключевого слова делают обработку...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru