What does [System.SerializableAttribute()] do
<p>I am looking at somebody elses C# code and before a public enum there are the following lines:</p>

<pre><code>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
</code></pre>

<p>Can somebody explain in plain english what each of these lines are doing.</p>
