坐标是关于点位置的信息(这可能是极坐标/笛卡尔坐标(例如)
我有这个界面:
interface ICreateOrderOnASpace<Coordinate,T>{
Coordinate getPosition(XYZ p);
int ComparaisonPosition(Coordinate c1, Coordinate c2);
}
我想创建一个扩展方法,通过一个函数从元素中得到一个3d点,来对元素列表进行排序
class CreateOrderOnASpaceExtensions<Coordinate,T>{
IOrderedEnumerable<T> OrderElements(this ICreateOrderOnASpace<Coordinate,T> myInterface, IEnumerable<T> elements,Func<T,XYZ> f){
elements.OrderBy(
x => myInterface.getPosition(f(x)),
Comparer<Coordinate>.Create(myInterface.ComparaisonPosition)
)
}
}