我试图将此方法转换为VB.NET,但在线转换器似乎使转换它乱七八糟。有人可以帮助:错误将C#转换为VB.NET
C#原:
private IEnumerable<IGrouping<string, Reference>> FindReferencesWithTheSameShortNameButDiffererntFullNames(List<Reference> references)
{
return from reference in references
group reference by reference.ReferencedAssembly.Name
into referenceGroup
where referenceGroup.ToList().Select(reference => reference.ReferencedAssembly.FullName).Distinct().Count() > 1
select referenceGroup;
}
VB.NET使用在线转换器:
Private Function FindReferencesWithTheSameShortNameButDiffererntFullNames(references As List(Of Reference)) As IEnumerable(Of IGrouping(Of String, Reference))
Return _
Where referenceGroup.ToList().[Select](Function(reference) reference.ReferencedAssembly.FullName).Distinct().Count() > 1
End Function
上Where
这个错误没有被声明。
我不会想到的是,VB不会是DIS类似于C#是这样的:
Private Function FindReferencesWithTheSameShortNameButDiffererntFullNames(references As List(Of Reference)) As IEnumerable(Of IGrouping(Of String, Reference))
Return From reference In references
Group reference By reference.ReferencedAssembly.Name
Into referenceGroup()
Where referenceGroup.ToList().Select(Function(reference) ReferencedAssembly.FullName).distinct().count() > 1
Select referenceGroup
End Function
,但我得到:方法referenceGroup的定义是不是在这种情况下访问...有人可以帮我吗?
你有没有试图通过自己查找语法一组,成,其中,select语句。这将涉及用手工转换代码,你应该这样做,似乎你没有尝试过,自动工具给了你什么。 –
@Ramhound - 是的,我自己尝试过这个 - 我最初发布了转换后的代码,以便我没有得到轻松的评论,说'使用在线代码转换器! –