You probably want to do:
using MemberType = typename TBase<T>::MemberType; // new type alias syntax
or
typedef typename TBase<T>::MemberType MemberType; // old type alias syntax
The syntax using Base::member;
can only be used to bring the declarations of non-type members into scope.
Also note that none of these are actually required, you can qualify each use (for types with the base, for non-types with either this->
or the base) and that will make the symbol dependent.