public TypeDescription GetTypeDescription(PropModelType propModel, Type typeToWrap, string fullClassName)
        {
            NewTypeRequest request = new NewTypeRequest(propModel, typeToWrap, fullClassName);

            TypeDescription result = GetTypeDescription(request);

            return(result);
        }
        public TypeDescription GetTypeDescription(NewTypeRequest newTypeRequest)
        {
            //string nsName = newTypeRequest.PropModel.NamespaceName;

            // TODO: Consider using the fullClassName: newTypeRequest.FullClassName.
            //TypeName tn = new TypeName(newTypeRequest.TypeToWrap.Name, nsName);

            TypeName tn = new TypeName(newTypeRequest.FullClassName);

            IEnumerable <PropertyDescription> propDescs = GetPropertyDescriptions(newTypeRequest.PropModel);

            TypeDescription result = new TypeDescription(tn, newTypeRequest.TypeToWrap, propDescs);

            return(result);
        }
 public TypeDescription GetOrAdd(NewTypeRequest request)
 {
     return(_typeDescriptions.GetOrAdd(request));
 }