相当于C#.Default。在VB.net?

时间:2018-05-28 19:20:04

标签: c# vb.net

我在SO上的另一个问题中找到了这行代码:

git pull

我正在尝试解析这个,所以我可以将它转换为VB.net。首先,我尝试了一个在线转换器,它产生了这个:

git mergetool

但是返回一个错误,说Comparer没有类型参数。这是因为VisualBasic库有一个正在踩这个的Comparer吗?或者是因为[Default]语法,我以前没见过?

2 个答案:

答案 0 :(得分:2)

这是正确的,您可能在范围内的名称ComparerSystem.Collections.Generic.Comparer(Of T)不一致。检查您的其他模块和导入,看看是否是这种情况。

Default周围的方括号可能会确保它不会被解释为关键字Default。但在这种背景下,完全没有必要。

答案 1 :(得分:1)

确保Comparer来自System.Collections.Generic 。然后你可以像这样写:

Comparer(Of YourClass).Default.Compare(x.Item1, y.Item1)

其中x和y的Item1是YourClass类型。

如果您使用的比较器不是来自通用集合,则会显示该错误(Comparer没有类型参数)。