我嘗試vb.net代碼轉換爲C#像下面 VB.NET錯誤轉換VB.NET到C#:OBJ」是 '變量',但使用像 '方法'
Dim _obj As Object = _srv.GetData(_criteria)
If _obj IsNot Nothing Then
For Each Comp As ComponentItem In DirectCast(DirectCast(_obj("ComponentInformation"), Result).Output, List(Of ComponentItem))
_lstComp.Add(New Core.Component() With {.ComponentID = Comp.BusinessUnitID, .ComponentName = Comp.BusinessUnitName})
Next
End If
C#
object obj = srv.GetData(criteria);
if (obj != null)
{
foreach (ComponentItem comp in (List<ComponentItem>)((Result)obj("ComponentInformation")).Output)
{
lstComp.Add(new Component
{
ComponentId = comp.BusinessUnitID,
ComponentName = comp.BusinessUnitName
});
}
}
轉換代碼我得到一個錯誤OBJ後」是‘變量’,但使用像‘方法’如何reslove這個錯誤?
我嘗試這個,但我得到錯誤無法應用[]對'object'類型的表達式進行索引 – JEMI
@JEMI,您的方法'srv.GetData'返回的是什麼,而不是您指定該類型的對象,而定義'obj ' – Habib
在第一行用'var'替換'object'可能會修正錯誤(除非'GetData'確實返回一個'object'並且實際上需要轉換爲可索引類。 – Groo