using System;
namespace SLSUtilities.General
{
///
/// 实现该接口的类可以根据优先级进行比较和排序。
/// 数字越大优先级越高。
///
public interface IPrioritized : IComparable
{
int Priority { get; }
int IComparable.CompareTo(IPrioritized other)
{
return other.Priority.CompareTo(Priority);
}
}
public static class IPrioritizedExtensions
{
public static PrioritizedAction ToPrioritized(this Action action, int priority = 0)
{
return new PrioritizedAction(action, priority);
}
public static PrioritizedAction ToPrioritized(this Action action, int priority = 0)
{
return new PrioritizedAction(action, priority);
}
public static PrioritizedAction ToPrioritized(this Action action, int priority = 0)
{
return new PrioritizedAction(action, priority);
}
public static PrioritizedAction ToPrioritized(this Action action, int priority = 0)
{
return new PrioritizedAction(action, priority);
}
public static PrioritizedFunc ToPrioritized
(this Func
func, int priority = 0)
{
return new PrioritizedFunc
(func, priority);
}
public static PrioritizedFunc ToPrioritized(this Func func, int priority = 0)
{
return new PrioritizedFunc(func, priority);
}
public static PrioritizedFunc ToPrioritized(this Func func, int priority = 0)
{
return new PrioritizedFunc(func, priority);
}
public static PrioritizedFunc ToPrioritized(this Func func, int priority = 0)
{
return new PrioritizedFunc(func, priority);
}
}
}