Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать объект типа EventHandler, Как создать объект типа EventHandler 
:(
    Опции темы
cardinal1980
Дата 20.8.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.11.2006
Где: Питер

Репутация: нет
Всего: нет



Итак имею:
Интерфейс:
Код

    [ExternalDataExchange]
    public interface IApproverChangeEventHandler
    {
        event EventHandler <RecensentEventArgs> listEvent2;
        private void onEvent(object scr, RecensentEventArgs args)
        {

        }
    }

    [Serializable]
    public class RecensentEventArgs : ExternalDataEventArgs
    {

        public RecensentEventArgs(Guid instanceId, SPItemEventProperties properties)
            : base(instanceId)
        {
            itemProperties = properties;
        }
        public SPItemEventProperties itemProperties;
    }

Непосредственно сам EventHandler:
Код

class onRecensentsChanged : SPItemEventReceiver, IApproverChangeEventHandler
    {

        private RecensentEventArgs rec;
        public override void ItemDeleted(SPItemEventProperties properties)
        {
            onItemUpdatedAddedDeleted(properties);
        }

        public override void ItemUpdated(SPItemEventProperties properties)
        {
            onItemUpdatedAddedDeleted(properties);
        }

        public override void ItemAdded(SPItemEventProperties properties)
        {
            onItemUpdatedAddedDeleted(properties);

        }

        private void onItemUpdatedAddedDeleted(SPItemEventProperties properties)
        {
            try
            {
                Guid g = new Guid();
                rec = new RecensentEventArgs(g, properties);
                listEvent2(this, rec);
            }
            catch (Exception ee)
            {
            }

        }

         #region IApproverChangeEventHandler Members

        public event EventHandler<RecensentEventArgs> listEvent2;

        #endregion
    }

Вопрос в следующем listEvent2 всегда == Null в общем оно и понятно я его не инициализирую.
Помогите пожалуйста как его инициализировать?
Где про это доходчиво написано?
PM MAIL ICQ   Вверх
Exception
Дата 20.8.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Как появится обработчик -- создастся делегат.
Код
someObject.listEvent2 += new EventHandler<RecensentEventArgs> (this.myEventHandler);
Кстати, наличие делегата-приёмника событий надо проверять так:
Код
if (this.listEvent2 != null)
    this.listEvent2 (this, rec);
Тогда не придётся плодить try.. catch'и.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.