title: sharepoint - add custom column to list via object model
body: <p>I'm having trouble figuring out how to add a custom column type to a list with the object model.</p>
  
  <p>SPFieldCollection.Add() has a parameter SPFieldType, but that must be one of the enumerated values in the Microsoft.SharePoint.SPFieldType enumeration, thus it cannot be used to create columns of a custom type.</p>
  
  <p>I next attempted using SPFieldCollection.CreateNewField() but when I call SPField.Update() on the returned value I get an exception: "ArgumentException was unhandled. Value does not fall within the expected range.".</p>
  
  <p>I see a reference to SPFieldCollection.AddFieldAsXml() here: <a href="https://stackoverflow.com/questions/277930/how-do-i-add-custom-column-to-existing-wss-list-template/278921#278921">How do I add custom column to existing WSS list template</a> but there's hardly any info and I'm not sure that's the right track to take.</p>
  
  <p>UPDATE: I found a post on AddFieldAsXml: <a href="http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx" rel="nofollow noreferrer">http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx</a> and it turns out it's very easy and worked well for me.  Posting anyway in hopes it will help someone else.</p>