필드 이름, ID, 위치, 저장소, 사람 및 금액이있는 개체를 보유하고있는 IList가 있습니다. 각 속성에 대한 설명을 작성하여이 필드의 값을 가져 오지 않으려합니다.C# IList 반복
ex.
IList<CutDetail> btiCollection;
btiCollection[0].Id
btiCollection[0].location
어쨌든이 목록을 반복하고 해당 항목의 데이터를 검색 할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.
List<Person> people = new List<Person>();
people.Add(new Person() {Id = 3, Location = "XYZ"});
var properties = (from prop in typeof (Person).GetProperties(BindingFlags.Public | BindingFlags.Instance)
let parameter = Expression.Parameter(typeof (Person), "obj")
let property = Expression.Property(parameter, prop)
let lambda = Expression.Lambda<Func<Person, object>>(Expression.Convert(property, typeof(object)), parameter).Compile()
select
new
{
Getter = lambda,
Name = prop.Name
}).ToArray();
foreach (var person in people)
{
foreach (var property in properties)
{
string name = property.Name;
object value = property.Getter(person);
//do something with property name/property value combination.
}
}
:
데이터로 무엇을 하시겠습니까? – Bas
이 하나를 시도하십시오 http://stackoverflow.com/a/4276597/1714342 – wudzik
당신은 무엇을하려고합니까? 적절한 메커니즘을 사용하는 경우 이름을 지정할 필요가없는 많은 시나리오 (직렬화, 데이터 바인딩)가 있습니다. –