Different ways of representing a second cohomology class There are probably many ways of talking about a second (integral) cohomology class of a smooth, closed, orientable manifold $M$ of dimension $n$.  Here are a few, with $\alpha\in H^2(M,\mathbb{Z})$:


*

*Using Poincare duality, obtain a homology class $\hat{\alpha}\in H_{n-2}(M,\mathbb{Z})$. This can be represented by a submanifold $A$.

*$\alpha$ is represented by (the homotopy class of) a map $f:\ M\rightarrow \mathbb{CP}^\infty$, which can be homotoped to have target $\mathbb{CP}^N$, where $2N\ge n$. Taking the preimage of a (transverse) $\mathbb{CP}^{N-1}$ gives a submanifold $B$.

*$\alpha$ is the first Chern class of a complex line bundle $\mathbb{C}\rightarrow E\rightarrow M$. If $s:\ M\rightarrow E$ is a generic section, then the zero set of $s$ is a submanifold $C$.


What's kind of amazing is that $A$, $B$, and $C$ are all homotopic (the same)! I have used this many times, but don't think I've ever seen a detailed proof of all this before.  I understand the basic setup (the construcion of $f$ in 2., the line bundle setup in 3., ...), but I don't know why these three ideas give essentially the same result: that is, why $B$ and $C$ are indeed Poincare dual to $\alpha$. I would really enjoy some references, outlines of proofs, etc.
 A: So I think I have a sketch of a proof for why 1) and 2) coincide.
I will try to provide references as much as possible.
So we start out with a class $\alpha \in H^2(M;\mathbb{Z})$. We will construct a submanifold of $M$ which is Poincaré dual to $\alpha$ just in the way of 2).
We know that cohomology is representable and that $\mathbb{C}P^\infty$ is a $K(\mathbb{Z},2)$, hence associated to $\alpha$ there is a map $\hat{\alpha}: M \to \mathbb{C}P^\infty$. Since $M$ is compact indeed this gives rise to a map $M \to \mathbb{C}P^N$ for some $N$ large enough. The relation between $\alpha$ and $\hat{\alpha}$ is as follows. Consider $\gamma$, the tautological bundle over $\mathbb{C}P^\infty$ and let me call all its restrictions to $\mathbb{C}P^k$'s also $\gamma$. Then $c_1(\gamma)$ is the universal chern class and generates the cohomology ring of $\mathbb{C}P^\infty$. Hence we get the relation
$$ \alpha = \hat{\alpha}^*(c_1(\gamma)) = c_1(\hat{\alpha}(\gamma)).$$
(This is just the explanation of why $\alpha$ is the chern class of some line bundle, but we will need the notation anyhow later).
Now we need the following fact. Namely consider the submanifold $\mathbb{C}P^{N-1} \subset \mathbb{C}P^N$. Then we get that $$PD(\lbrack \mathbb{C}P^{N-1} \rbrack) = c_1(\gamma) \in H^2(\mathbb{C}P^N;\mathbb{Z}).$$
Hence in the above equation we get
$$ \alpha = \hat{\alpha}^*(c_1(\gamma)) = \hat{\alpha}^*(PD(\lbrack \mathbb{C}P^{N-1} \rbrack) = PD(\hat{\alpha}^*(\mathbb{C}P^{N-1}))$$
The last equation is to understood as follows.
$\hat{\alpha}^*(\mathbb{C}P^{N-1})$ should be a transverse preimage of $\mathbb{C}P^{N-1}$ under $\hat{\alpha}$ and the equation seems to be true.
This is proven for the case of smooth complex varieties in Voisins book, Hodge Theory and Complex algebraic geometry II, in chapter 9, Proposition 9.21, Part 1), pg. 263. But Prof. Matthias Kreck claims this can be proven with the help of stratifolds in the topological case as well.
The idea is roughly as follows. Using stratifolds, Kreck defines new integral singular (co)homology groups, shows that for CW complexes these are isomorphic to the usual definition. In this new picture, the statement is more or less a tautology then. You can read about this picture of singualar (co)homology in Krecks book, Differential algebraic topology, available for example under http://www.mathi.uni-heidelberg.de/~kreck/stratifolds/DA_22_08.pdf .
Unfortunately I do not know of a simple method to prove (the even simples statement) that given a submersion of manifolds $p: M \to N$ and a submanifold $B$ in $N$ that
$$ p^*(PD(\lbrack B \rbrack) = PD(\lbrack P^{-1}B \rbrack).$$
Essentially this is what we want to use in the last equation of the upper computation. 
Hope that helps a little bit.
A: OK, I have tracked down some references, etc., for all of this.
To show that 2. works, I refer to theorem VI.11.16 in Bredon's Topology and Geometry, where a complete proof is given.
To show that 3. works, I refer to theorem 5.2 of these notes; all of the necessary material is contained in Bredon's book, but I couldn't find so explicit a statement as that in the notes.  Plus, the notes are nice anyway.
The only thing to do is show how 2. and 3. are connected.
Now if $\alpha\in H^2(M,\mathbb{Z})$, then it is represented by some (smooth) map $f:\ M\rightarrow \mathbb{CP}^N$ for high enough $N$; this is the map mentioned in 2.  The representation is by the pullback of the fundamental class $u\in H^2(\mathbb{CP}^N,\mathbb{Z})$: $\alpha=f^\ast(u)$. Now $u$ itself is the first Chern class of the canonical line bundle (call it $E$) over $\mathbb{CP}^N$: $u=c_1(E)$. By naturality, we have $\alpha=f^\ast(c_1(E))=c_1(f^\ast(E))$. $f^\ast(E)$ is the complex line bundle mentioned in 3.
