131 lines
2.2 KiB
C#
131 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ET
|
|
{
|
|
#if ILRuntime
|
|
public interface IEvent
|
|
{
|
|
void Handle();
|
|
void Handle(object a);
|
|
void Handle(object a, object b);
|
|
void Handle(object a, object b, object c);
|
|
}
|
|
|
|
public abstract class AEvent : IEvent
|
|
{
|
|
public void Handle()
|
|
{
|
|
this.Run();
|
|
}
|
|
|
|
public void Handle(object a)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a, object b)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a, object b, object c)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public abstract void Run();
|
|
}
|
|
|
|
public abstract class AEvent<A>: IEvent
|
|
{
|
|
public void Handle()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a)
|
|
{
|
|
this.Run((A)a);
|
|
}
|
|
|
|
public void Handle(object a, object b)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a, object b, object c)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public abstract void Run(A a);
|
|
}
|
|
|
|
public abstract class AEvent<A, B>: IEvent
|
|
{
|
|
public void Handle()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a, object b)
|
|
{
|
|
this.Run((A)a, (B)b);
|
|
}
|
|
|
|
public void Handle(object a, object b, object c)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public abstract void Run(A a, B b);
|
|
}
|
|
|
|
public abstract class AEvent<A, B, C>: IEvent
|
|
{
|
|
public void Handle()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a, object b)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public void Handle(object a, object b, object c)
|
|
{
|
|
this.Run((A)a, (B)b, (C)c);
|
|
}
|
|
|
|
public abstract void Run(A a, B b, C c);
|
|
}
|
|
#else
|
|
//public abstract class AOldEvent : ET.AOldEvent
|
|
//{
|
|
//}
|
|
|
|
//public abstract class AOldEvent<A> : ET.AOldEvent<A>
|
|
//{
|
|
//}
|
|
|
|
//public abstract class AOldEvent<A, B> : ET.AOldEvent<A, B>
|
|
//{
|
|
//}
|
|
|
|
//public abstract class AOldEvent<A, B, C> : ET.AOldEvent<A, B, C>
|
|
//{
|
|
//}
|
|
#endif
|
|
} |