title: Can I fail to deserialize with XmlSerializer in C# if an element is not found?
body: <p>I am using XmlSerializer to write and read an object to xml in C#.  I currently use the attributes <code>XmlElement</code> and <code>XmlIgnore</code> to manipulate the serialization of the object.</p>
  
  <p>If my xml file is missing an xml element that I require, my object still deserializes (xml -> object) just fine.   How do I indicate (preferably via Attributes) that a certain field is "required"?</p>
  
  <p>Here is a sample method of what I am using currently:</p>
  
  <pre><code>[XmlElement(ElementName="numberOfWidgets")]
  public int NumberThatIsRequired {
      set ...;
      get ...;
  }
  </code></pre>
  
  <p>My ideal solution would be to add something like an <code>XmlRequired</code> attribute.   </p>
  
  <p>Also, is there a good reference for what Attributes are available to manipulate the behavior of XmlSerializer?</p>