SharePoint list does not have any direct property or method to make content type default. but it is having content type ordering. thus making content type in first of the list automatically makes that content type default.
following shows a sample code
using (var site = new SPSite("url"))
{
using (var web = site.AllWebs["yourweb"])
{
var lst = web.Lists["Your List"];
SPContentTypeCollection currentOrder = lst.ContentTypes;
// make default content type
var newOrder = currentOrder.Cast<SPContentType>().Where(ct => ct.Name.Contains("Content Type To Default")).ToList();
lst.RootFolder.UniqueContentTypeOrder = newOrder;
lst.RootFolder.Update();
}
}
Comments