Let's assume we start with Chern--Weil theory in the following form:



> 
> Given a manifold $M$ and a complex vector bundle $V$ over $M$, we can equip $V$ with a $\mathfrak g\mathfrak l\_n(\mathbb C)$ connection and from this connection compute a closed differential $2k$-form (from the curvature of the connection) which thus determines an element $c\_k(V)\in H^{2k}(M,\mathbb C)$ (by deRham theory). This value is independent of the connection chosen. If $f:N\to M$ is a smooth map, then $c\_k(f^\ast V)=f^\ast c\_k(V)$.
> 
> 
> 


I've often heard that Chern--Weil theory gives cohomology classes $c\_k\in H^{2k}(B\operatorname{GL}\_n(\mathbb C),\mathbb C)$. However, if we take Chern--Weil theory to mean the above boxed summary, then this does not seem obvious to me unless we use the fact that we can choose $B\operatorname{GL}\_n(\mathbb C)$ to be a direct limit of manifolds (namely Grassmannians).


My question is whether there is more abstract way of constructing the classes $c\_k\in H^{2k}(B\operatorname{GL}\_n(\mathbb C),\mathbb C)$ from Chern--Weil theory, using only the fact that $B\operatorname{GL}\_n(\mathbb C)$ is the classifying space of complex vector bundles. I am fine with assuming that $B\operatorname{GL}\_n(\mathbb C)$ is a direct limit of finite CW complexes, but of course, Chern--Weil theory does not obviously define Chern classes for vector bundles over CW complexes.



How does one go from Chern--Weil to cohomology classes on BGL(n,C)?
Expanding on Will Sawin's comment:


Every finite CW complex is homotopy equivalent to a finite simplicial complex (by an approximation argument) and a simplicial complex is homotopy equivalent to a manifold (take a regular neighborhood of the natural geometric realization in $\mathbb R^{\#\text{vertices}}$). The naturality of the "very fine approximation of a CW complex by a simplicial complex" means that we get well-defined classes $c\_k(V)\in H^{2k}(X,\mathbb C)$ for any complex vector bundle $V$ over a finite CW complex $X$ (alternatively, take two small manifold "extensions" of $X$; we can embed these in a third manifold extension, so they give the same cohomology class $c\_k(V)$). These classes satisfy $f^\ast c\_k(V)=c\_k(f^\ast V)$ for $f:Y\to X$ where $Y$ and $X$ are both finite CW complexes because we can extend the map $f$ to the approximation/regular neighborhood.


Now we have $c\_k$ as characteristic classes of complex vector bundles over finite CW complexes which satisfy naturality (pullback), and so abstract nonsense about representability implies they come from unique $c\_k\in H^{2k}(B\operatorname{GL}\_n(\mathbb C),\mathbb C)$ (which we can construct by filtering $B\operatorname{GL}\_n(\mathbb C)$ by finite CW complexes in any way we like).


