Перезагрузите конфигурацию Kerberos в JAVA, не перезапуская JVM

Нотация:

if ( MyEvent != null ) {
  MyEvent( param1, param2 );
}

не ориентировано на многопотоковое исполнение. Необходимо сделать это этот путь:

EventHandler handler = this.MyEvent;
if ( null != handler ) { handler( param1, param2 ); }

я понимаю, что это - беспокойство, таким образом, можно сделать вспомогательный метод:

static void RaiseEvent( EventHandler handler, object sender, EventArgs e ) {
    if ( null != handler ) { handler( sender, e ); }
}

и затем звоните:

RaiseEvent( MyEvent, param1, param2 );

при использовании C# 3.0 можно объявить вспомогательный метод как дополнительный метод:

static void Raise( this EventHandler handler, object sender, EventArgs e ) {
    if ( null != handler ) { handler( sender, e ); }
}

и затем звоните:

MyEvent.Raise( param1, param2 );

Также можно создать следующее расширение/вспомогательные методы для других обработчиков событий. Например:

static void Raise<TEventArgs>( this EventHandler<TEventArgs> handler,
    object sender, TEventArgs e ) where TEventArgs : EventArgs
{
    if ( null != handler ) { handler( sender, e ); }
}
8
задан Keshav 17 September 2009 в 07:43
поделиться