public void UpdateField(FieldSetting fieldSetting)
{
if (fieldSetting == null)
throw new ArgumentNullException("fieldSetting");
if (!FieldExists(fieldSetting))
throw new ArgumentException("List field does not exist: " + fieldSetting.Name);
foreach (var fs in this.FieldSettings)
{
if (fs.Name.CompareTo(fieldSetting.Name) != 0)
continue;
if (fs.ShortName.CompareTo(fieldSetting.ShortName) != 0)
throw new ArgumentException(string.Format("List field types does not match: {0}, {1}", fs.ShortName, fieldSetting.ShortName));
break;
}
UpdateFieldInternal(fieldSetting);
}