package System;
public class Delegate
{
public static Delegate Combine(Delegate a, Delegate b) throws Exception
{
if (a == null) {
if (b == null)
return null;
return b;
} else
if (b == null)
return a;
return a.CombineImpl (b);
}
public static Delegate Remove(Delegate a, Delegate b) throws Exception
{
if (a == null) {
if (b == null)
return null;
return b;
} else
if (b == null)
return a;
return a.RemoveImpl (b);
}
protected Delegate RemoveImpl(Delegate d) throws Exception
{
throw new Exception("Not implemented");
}
protected Delegate CombineImpl(Delegate d) throws Exception
{
throw new Exception("Not implemented");
}
}