CSharpCompilation Class

The compilation object is an immutable representation of a single invocation of the
compiler. Although immutable, a compilation is also on-demand, and will realize and cache
data as necessary. A compilation can produce a new compilation from existing compilation
with the application of small deltas. In many cases, it is more efficient than creating a
new compilation from scratch, as the new compilation can reuse information from the old
compilation.

Returns a new anonymous type symbol with the given member types member names.
Anonymous type members will be readonly by default. Writable properties are
supported in VB and can be created by passing in