Быть в поиске и пробовать разные вещи, но просто не может показаться, что он работает правильно.
Итак, вот основы ...
Установить класс в IEnumerable и получить тип
namespace Model
{
[Serializable]
public class SomeMDL : IEnumerable<string>
{
public int ID { get; set; }
public int Volumne { get; set; }
public int Size { get; set; }
}
public IEnumerator<string> GetEnumerator()
{
yield return ID.ToString();
yield return Volume.ToString();
yield return Size.ToString();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
Затем вызовите класс:
Model.SomeMDL mdl = new Model.SomeMDL();
mdl.ID = 1;
mdl.Volume = 2;
mdl.Size = 2;
string myVar;
foreach (string item in mdl)
{
//myVar = item.GetType().ToString();
//myVar = item.GetEnumerator().GetType().Name.ToString();
//myVar = item.GetEnumerator().GetType().FullName.ToString();
//myVar = item.GetEnumerator().GetType().DeclaringType.FullName.ToString(); //null ref
myVar= item.ToString(); //gets the value
}
Что я ищу это способ не только вернуть значения, которое item.ToString(), но мне нужно знать, какой public int он читает. Это идентификатор, объем или размер?
Необходимо вернуть строку типа (идентификатор, объем или размер).
Благодаря
Не могли бы вы рассказать нам, что вы пытаетесь сделать с помощью цикла 'foreach'? Тогда мы могли бы предложить другой способ добиться того, чего вы хотите, потому что реализация 'IEnumerable' здесь не имеет смысла. – juharr