在我的应用程序中,我有几种比较方法。我希望用户能够选择要使用的排序方法。理想情况下,我想设置一个委托,并根据用户的选择进行更新。这样,我可以使用 List.Sort(delegate) 保持代码的通用性。
这是我第一次尝试使用 C# 委托,但遇到了语法错误。这是我到目前为止所拥有的:
代表:
private delegate int SortVideos(VideoData x, VideoData y);
private SortVideos sortVideos;
在类构造函数中:
sortVideos = Sorting.VideoPerformanceDescending;
公共静态排序类中的比较方法(当我直接调用它时有效):
public static int VideoPerformanceDescending(VideoData x, VideoData y)
{
*code statements*
*return -1, 0, or 1*
}
抱怨“一些无效参数”的失败语法:
videos.Sort(sortVideos);
最终,我想更改“sortVideos”以指向选择的方法。“videos”是一个 VideoData 类型的列表。我究竟做错了什么?