I have many lists, some of which were created using a custom and now-obsolete list definition. I need a programmatic way of finding out which lists were created using that old definition.
Currently my workaround is to check the ServerTemplate attribute in the list's PropertiesXml:
SPList.PropertiesXml.Contains(string.Format("ServerTemplate=\"{0}\"", oldTemplateId))
Is there a method to do this without iterating through lists and comparing properties? Are there any other properties I can use to identify which list definition the list is based on?