GtkSharp/glade/HandlerNotFoundExeception.cs

89 lines
1.8 KiB
C#
Raw Normal View History

// HandlerNotFoundException.cs
//
// Author: Ricardo Fern<72>ndez Pascual <ric@users.sourceforge.net>
//
// (c) 2002 Ricardo Fern<72>ndez Pascual
namespace Glade {
using System;
using System.Reflection;
using System.Runtime.Serialization;
/// <summary>
/// Exception thrown when signal autoconnection fails.
/// </summary>
[Serializable]
public class HandlerNotFoundException : Exception
{
string handler_name;
string signal_name;
EventInfo evnt;
Type delegate_type;
public HandlerNotFoundException (string handler_name, string signal_name,
EventInfo evnt, Type delegate_type)
{
this.handler_name = handler_name;
this.signal_name = signal_name;
this.evnt = evnt;
this.delegate_type = delegate_type;
}
protected HandlerNotFoundException (SerializationInfo info, StreamingContext context)
: base (info, context)
{
handler_name = info.GetString ("HandlerName");
signal_name = info.GetString ("SignalName");
evnt = info.GetValue ("Event", typeof (EventInfo)) as EventInfo;
delegate_type = info.GetValue ("DelegateType", typeof (Type)) as Type;
}
public override string Message
{
get {
return "No handler " + handler_name + " found for signal " + signal_name;
}
}
public string HandlerName
{
get {
return handler_name;
}
}
public string SignalName
{
get {
return signal_name;
}
}
public EventInfo Event
{
get {
return evnt;
}
}
public Type DelegateType
{
get {
return delegate_type;
}
}
public override void GetObjectData (SerializationInfo info, StreamingContext context)
{
base.GetObjectData (info, context);
info.AddValue ("HandlerName", handler_name);
info.AddValue ("SignalName", signal_name);
info.AddValue ("Event", evnt);
info.AddValue ("DelegateType", delegate_type);
}
}
}