// 4. Implement the interface explicitly. #region IEnsuranceHandler Members void IEnsuranceHandler.Handle( Constraint constraint, string message, params object[] args ) { // 5. Do your logging. if ( _log.IsErrorEnabled ) { _log.Error( constraint.ToString() ); _log.WarnFormat( message, args ); } }
// 5. Implement the interface explicitly. void IEnsuranceHandler.Handle( Constraint constraint, string message, params object[] args ) { // 5. Do your logging. try { if ( _log.IsErrorEnabled ) { _log.Error( constraint.ToString() ); _log.WarnFormat( message, args ); } } finally { // 6. ALWAYS pass the call onto your successor. IEnsuranceResponsibilityChainLink handler = _successor; if ( handler != null ) { handler.Handle( constraint, message, args ); } } }