Cómo obtener todas las bibliotecas de documentos, PERO plantillas de formularios, estilo, informes personalizados

Estoy creando una webpart para SharePoint 2010 para obtener todas las bibliotecas de documentos con información útil para el usuario. Esto significa, documentos que los usuarios cargaron, etc. No quiero mostrar bibliotecas como Plantillas de formularios, Biblioteca de estilos, Informes personalizados, etc.

Solo quiero mostrar solo las bibliotecas de documentos con información útil, como documentos compartidos, o cualquier otro usuario que cree en el futuro, ¿es eso posible?

Actualmente, mi lógica se ve así:

SPListCollection docLibraryColl = wb.GetListsOfType(SPBaseType.DocumentLibrary); Guid docLibFeatId = new Guid("00bfea71-e717-4e80-aa17-d0c71b360101"); foreach (SPList list in docLibraryColl) { if (list.TemplateFeatureId == docLibFeatId && !list.Hidden) { SPDocumentLibrary doclib = (SPDocumentLibrary)list; //rest of the logic here... } } 

He leído aquí que Guid 00bfea71-e717-4e80-aa17-d0c71b360101 devolverá solo las bibliotecas con la plantilla de la biblioteca de documentos de MS, pero todavía obtengo esas bibliotecas no deseadas en los resultados.

¿Qué hay de malo en excluir las bibliotecas que no quieres en tu if ?

 ... if (!list.Hidden && list.title != "Style Library" && list.title != "Form Templates") ... 

Ya está seleccionando la biblioteca de documentos de BaseType , por lo que solo recibirá las bibliotecas de documentos, desafortunadamente las plantillas de formulario también es un doclib, por lo que siempre lo tendrá en su selección.

Utilicé este pedazo de código:

  if (docLib.Hidden || !docLib.AllowDeletion || docLib.IsCatalog || docLib.IsSiteAssetsLibrary || docLib.BaseTemplate == SPListTemplateType.WebPageLibrary) { continue; }