两个不同网站(在同一解决方案上)的相同代码,VB.Net(框架3.5)。
守则:
Public Class UserTest
Public hhh As Integer
Public fff As String
Public Sub New(ByVal hh As Integer, ByVal ff As String)
Me.hhh = hh
Me.fff = ff
End Sub
End Class
Dim lst As List(Of UserTest) = New List(Of UserTest)
lst.Add(New UserTest(1, "x"))
lst.Add(New UserTest(2, "y"))
Dim myData = lst.Select(Function(o) New With {.id = o.fff, .name = o.hhh})
一个选择返回属性的名称,大写字母另一个没有。
alt text http://img8.imageshack.us/img8/4509/linqbug1.jpg
我尝试更改属性名称,根本没有大写字母。
Dim myData = lst.Select(Function(o) New With {.prop1 = o.fff, .prop2 = o.hhh})
alt text http://img695.imageshack.us/img695/5231/linqbug2.jpg
感谢。
答案 0 :(得分:1)
在您发布的代码示例中,匿名对象初始值设定项中的属性名称使用小写的第一个字母编写。你确定其他网站的代码真的是一样的吗?我怀疑它使用大写的第一个字母:
Dim ggg = StaticData.GetLocationsByText(data, CountryId).Select( _
Function(o) New With { _
.Id = o.UniqueLocation, _
.Text = o.DisplayLocation}).ToList()