示例#1
0
        /// <summary>
        /// Recupera as informações do membro para o tipo informado.
        /// </summary>
        /// <param name="token"></param>
        /// <param name="targetType"></param>
        /// <returns></returns>
        private static MemberInfo GetMemberInfoForType(this IMemberAccessToken token, Type targetType)
        {
            PropertyToken token2 = token as PropertyToken;

            if (token2 != null)
            {
                return(GetMemberInfoFromPropertyToken(token2, targetType));
            }
            IndexerToken token3 = token as IndexerToken;

            if (token3 == null)
            {
                throw new InvalidOperationException(token.GetType().GetTypeName() + " is not supported");
            }
            return(GetMemberInfoFromIndexerToken(token3, targetType));
        }
        /// <exception cref="T:System.InvalidOperationException"><c>InvalidOperationException</c>.</exception>
        private static MemberInfo GetMemberInfoForType(IMemberAccessToken token, Type targetType)
        {
            var token1 = token as PropertyToken;

            if (token1 != null)
            {
                return(GetMemberInfoFromPropertyToken(token1, targetType));
            }
            var token2 = token as IndexerToken;

            if (token2 != null)
            {
                return(GetMemberInfoFromIndexerToken(token2, targetType));
            }
            throw new InvalidOperationException(TypeExtensions.GetTypeName(token.GetType()) + " is not supported");
        }