/// <summary> /// Gets all registered specified classes in core folder and addins (optional) folders /// </summary> /// <param name="includeAddinFolder">include add-ins folder or not</param> /// <returns>List of registered classes</returns> private static IList <T> GetClasses <T>(bool includeAddinFolder) { IList <T> registeredAligners = new List <T>(); if (includeAddinFolder) { IList <T> addInAligners; if (null != RegisteredAddIn.AddinFolderPath) { addInAligners = RegisteredAddIn.GetInstancesFromAssemblyPath <T>(RegisteredAddIn.AddinFolderPath, RegisteredAddIn.DLLFilter); if (null != addInAligners && addInAligners.Count > 0) { foreach (T aligner in addInAligners) { if (aligner != null) { registeredAligners.Add(aligner); } } } } } return(registeredAligners); }
/// <summary> /// Gets all registered sequence alignment formatters in core folder and addins (optional) folders /// </summary> /// <param name="includeAddinFolder">include add-ins folder or not</param> /// <returns>List of registered formatters</returns> private static IList <ISequenceAlignmentFormatter> GetAlignmentFormatters(bool includeAddinFolder) { IList <ISequenceAlignmentFormatter> registeredFormatters = new List <ISequenceAlignmentFormatter>(); if (includeAddinFolder) { IList <ISequenceAlignmentFormatter> addInFormatters; if (null != RegisteredAddIn.AddinFolderPath) { addInFormatters = RegisteredAddIn.GetInstancesFromAssemblyPath <ISequenceAlignmentFormatter>(RegisteredAddIn.AddinFolderPath, RegisteredAddIn.DLLFilter); if (null != addInFormatters && addInFormatters.Count > 0) { foreach (ISequenceAlignmentFormatter formatter in addInFormatters) { if (formatter != null && registeredFormatters.FirstOrDefault(IA => string.Compare( IA.Name, formatter.Name, StringComparison.OrdinalIgnoreCase) == 0) == null) { registeredFormatters.Add(formatter); } } } } } return(registeredFormatters); }
public void RegisterAddinsGetInstancesFilter() { CreateAddinsFolder(); IList <ISequenceAligner> finalValue = new List <ISequenceAligner>(); finalValue.Add(new TestAutomationSequenceAligner()); finalValue.Add(new TestAutomationPairwiseSequenceAligner()); // Gets the registered Instances for the path passed and the filter IList <ISequenceAligner> registeredAligners = RegisteredAddIn.GetInstancesFromAssemblyPath <ISequenceAligner>( RegisteredAddIn.AddinFolderPath, "*.dll"); RegisterAlignGeneralTestCases(registeredAligners, finalValue); DeleteAddinsFolder(); }