У меня есть класс следующим образом:Невозможно привести объект типа «InternationalRowViewDetailsModel» к типу «System.Collections.IEnumerator»
using System;
using System.Collections;
using System.Collections.Generic;
namespace DataBinding.Schemas.Scenario.ViewModels
{
public class InternationalRowViewDetailsModel: IEnumerable
{
public InternationalRowViewDetailsModel()
{
Country = new System.Collections.Generic.Dictionary<object, object>();
RateEUR = new System.Collections.Generic.Dictionary<object, object>();
RateGBP = new System.Collections.Generic.Dictionary<object, object>();
RateUSD = new System.Collections.Generic.Dictionary<object, object>();
}
public Dictionary<object, object> Country { get; set; }
public Dictionary<object, object> RateEUR { get; set; }
public Dictionary<object, object> RateGBP { get; set; }
public Dictionary<object, object> RateUSD { get; set; }
public IEnumerator GetEnumerator() { return (IEnumerator)this; }
}
}
Теперь я пытаюсь перебирать значения InternationalRowViewDetailsModel следующим образом:
foreach (InternationalRowViewDetailsModel currentRow in viewModel)
{
Row newRow = FillInternationalNumberRow(itemRow, currentRow);
tableNode.Rows.Add(newRow);
}
Я хочу использовать foreach и отправлять каждую текущую строку методу FillInternationalNumberRow, который заполняет столбцы таблицы.
private static Row FillInternationalNumberRow(Row rowTemplate, InternationalRowViewDetailsModel internationalViewModel)
{
Row newRow = rowTemplate.Clone(true) as Row;
int currentCell = 0;
if (newRow != null)
{
newRow.Cells[currentCell++].FirstParagraph.Runs[0].Text = internationalViewModel.Country.ToString();
newRow.Cells[currentCell++].FirstParagraph.Runs[0].Text = internationalViewModel.RateEUR.ToString();
newRow.Cells[currentCell++].FirstParagraph.Runs[0].Text = internationalViewModel.RateGBP.ToString();
newRow.Cells[currentCell++].FirstParagraph.Runs[0].Text = internationalViewModel.RateUSD.ToString();
}
return newRow;
}
Но я получаю следующее сообщение об ошибке: Невозможно привести объект типа «DataBinding.Schemas.Scenario.ViewModels.InternationalRowViewDetailsModel» к типу «System.Collections.IEnumerator»
return (IEnumerator) this; вы никогда не определяли счетчик. скорее вы пытаетесь применить это к IEnumerator – Steve
, вам кажется, что вы хотите использовать класс InternationalRowViewDetailsModel в цикле foreach, но из кода неясно, что вы хотите получить из цикла foreach. –
@ Scott Morken Я пытаюсь использовать цикл foreach и пересекать каждую строку InternationalRowViewDetailsModel. – Beginer