public static IEnumerable <ISettableMemberInfo> GetMemberList(this IEnumerable <string> path, Type type) { ISettableMemberInfo ret = null; foreach (var prop in path) { ret = type.GetMember(prop, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).FirstOrDefault().ToSettable(); if (ret == null) { throw new ArgumentException("the specified member {0} doesn't exist".AsFormatFor(prop)); } yield return(ret); type = ret.Type; } }
public HeaderItem(ISettableMemberInfo member) { this.member = member; this.name = member.Name; }