【发布时间】:2013-09-02 15:08:05
【问题描述】:
我使用流行的在线代码转换器从 VB 转到 C#,而 C# 不适用于这个 for 循环。任何 C# 专家都可以看到问题吗?
更具体地说,智能感知告诉我 CustomerRoles() 不能像方法一样使用。它在 VB 中运行良好。
VB:
Dim Roles As New List(Of String)
For x As Integer = 0 To EngineContext.Current.Resolve(Of IWorkContext)().CurrentCustomer.CustomerRoles().Count - 1
Roles.Add(EngineContext.Current.Resolve(Of IWorkContext)().CurrentCustomer.CustomerRoles(x).Name)
ddlRoles.Items.Add(EngineContext.Current.Resolve(Of IWorkContext)().CurrentCustomer.CustomerRoles(x).Name)
Next
C#(这不起作用):
List<string> Roles = new List<string>();
for (int x = 0; x <= EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.CustomerRoles().Count - 1; x++) {
Roles.Add(EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.CustomerRoles(x).Name);
ddlRoles.Items.Add(EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer.CustomerRoles(x).Name);
}
【问题讨论】:
-
从自定义角色中删除 ()。这是一个属性,然后将 (x) 更改为您正在按索引访问的 [x]。
标签: c#