gpt4 book ai didi

c# - 没有排序规范的 List<>.Sort() 需要编译时错误

转载 作者:太空狗 更新时间:2023-10-29 23:00:48 25 4
gpt4 key购买 nike

是否有某种方法可以定义一个类,如果我错误地尝试对没有排序规范的对象的 List<> 进行排序,它会生成编译时错误?

所以当我正确指定时,例如

listOfMyObjects.Sort(MyObject.CompareFieldNames);

它会被接受,但如果我忘记并指定

listOfMyObjects.Sort();

然后我会得到一个编译时错误。

(我确实意识到我会遇到运行时错误 - 但我更喜欢通过某种方式获得编译时错误。)

编辑:

为了清楚起见,我想要为上面的第二个例子得到一个编译时错误。

我发现自己偶尔遇到的情况是,我有一个类有几个不同的 Comparison<> 方法。假设它可以按 FieldName 排序,也可以按 DateOfCreation 排序。现在,我想避免的是意外/错误地思考,“哦,是的,很好的旧对象 X,它可以按创建日期排序,所以我将使用 Sort() 对这个列表进行排序,然后愉快地继续...... ",但实际上默认的排序方法是按 FieldName 排序(所以排序是错误的)或者没有默认的排序方法(所以我得到运行时错误)。

所以我想强制自己(或任何其他使用我的对象的人)记住有多种方法可以对对象进行排序,并且应该明确选择其中一种方法。

最佳答案

您可以编写自定义 FxCop 规则,请参阅 here获取教程。

看看this tutorial用于代码分析。

关于c# - 没有排序规范的 List<>.Sort() 需要编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com