有没有某种方法来定义一个类,如果我错误地尝试对没有排序规范的对象的List <>进行排序,它会产生编译时错误?
因此,当我正确指定时,例如
listOfMyObjects.Sort(MyObject.CompareFieldNames);
Run Code Online (Sandbox Code Playgroud)
它会被接受,但如果我忘记并指明
listOfMyObjects.Sort();
Run Code Online (Sandbox Code Playgroud)
然后我会得到一个编译时错误.
(我确实意识到我会遇到运行时错误 - 但我更喜欢的是获取编译时错误的一些方法.)
编辑:
为了说清楚,我想为上面的第二个例子得到一个编译时错误.
我偶尔发现的情况是,我有一个类有几种不同的Comparison <>方法.假设它可以按FieldName排序,也可以按DateOfCreation排序.现在,我想要避免的是意外/错误地思考,"哦,是的,好旧的对象X,它可以按创建日期排序,所以我只需要用Sort()对这个列表进行排序,并在我的路上愉快地去... ",但实际上默认排序方法是按字段名排序(因此排序错误)或没有默认排序方法(所以我得到运行时错误).
所以我想强迫自己(或其他任何使用我的对象的人)记住有几种方法可以对对象进行排序,其中一种方法应该明确选择.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |