コード例 #1
0
        /// <summary>
        /// Converts a MemeberInfo into a name for lookup. Take into account
        /// any codeing attributes that might "change" the name.
        /// </summary>
        /// <param name="memberInfo">The info of the member we want to find on the other type</param>
        /// <param name="fromType">The type where we want to do the lookup</param>
        /// <returns></returns>
        private MemberInfo ResolveMemberName(Type fromType, MemberInfo memberInfo)
        {
            string targetMemberName = memberInfo.Name;

            var attr = TypeUtils.TypeHasAttribute <RenameVariableAttribute>(memberInfo);

            if (attr != null)
            {
                targetMemberName = attr.RenameTo;
                RenameList.Add(string.Format("{0}->{1}", memberInfo.Name, targetMemberName));
            }

            return(fromType.GetMember(targetMemberName).FirstOrDefault());
        }