Итак, у меня есть этот класс со строками, поплавками, DateTimes и таблицами данных.
public class Data : IEnumerator
{
string m_PowerSwitch = "Not Tested",
m_SerialNumber = "Not Tested",
m_Reset = "Not Tested",
m_WashPump = "Not Tested",
m_PortB = "Not Tested",
m_PortC = "Not Tested",
m_PortD = "Not Tested",
m_CurlyTube = "Not Tested",
m_BypassTube = "Not Tested";
float m_EC53115VMeasured = 0.0F,
m_EC53165VMeasured = 0.0F,
m_EC531624VMeasured = 0.0F,
m_SolventLineBVolumeMeasured = 0.0F,
m_SolventLineCVolumeMeasured = 0.0F,
m_SolventLineDVolumeMeasured = 0.0F,
m_CurlyTubeVolumeMeasured = 0.0F,
m_BypassTubeVolumeMeasured = 0.0F;
}
Я хочу использовать оператор foreach, например
foreach (ASM001.ASM asm in P00001.Global.ListofAvailableASMs)
{
if (asm.ASMData.EndTime == null)
asm.ASMData.EndTime = endTime;
foreach (object data in asm.ASMData)
{
if (data == "Not Tested")
{
asm.ASMData.Result = "FAILED";
}
continue;
}
но мне не удалось найти помощь в поиске по отдельным полям класса, только в списке типа класса.
Я получаю сообщение об ошибке: оператор foreach не может работать с переменными типа «ASM001.Data», поскольку «ASM001.Data» не содержит общедоступного определения для «GetEnumerator».
Мне было интересно, возможно ли это или мне придется жестко кодировать каждое строковое поле по имени и возвращать true или false.
И именно поэтому теперь у вас намного больше строк, чем то, что я скопировал, мне нужно будет проверить, поэтому мне было интересно, есть ли более быстрый способ сделать это.
IEnumerable
вместоIEnumerator
? - person DLeh   schedule 13.04.2015does not contain a public definition for 'GetEnumerator'
- person DLeh   schedule 13.04.2015IEnumerable<T>
, делать это для типа, который не представляет какую-либо последовательность элементов, не имеет большого смысла, но это, безусловно, возможно. Для OP вы реализуете неправильный интерфейс. Часть Enumator - это лишь малая часть того, что требуется, чтобы сделать тип "доступным для достижимости" (перечисляемым). Это может помочь stackoverflow.com/questions/11296810/ а> - person evanmcdonnal   schedule 13.04.2015