public void DriverImplementationInstanceTests() { Console.WriteLine("DriverImplementationInstanceTests"); DriverLoaderInit(); foreach (var dt in DriverLoader.DriverTypes) { Console.WriteLine($"Creating instance of '{dt.FullName}'"); var iInst = DriverLoader.GetImplementation(dt); Assert.IsNotNull(iInst, "Validate IAscomDriver reference"); var cInst = Convert.ChangeType(iInst, dt); Assert.IsNotNull(cInst, $"Validate converted reference ({cInst})"); } }
protected TDriver createDevice(string devName) { TDriver result = null; lock (driverSync) { if (Drivers.ContainsKey(devName)) { result = Drivers[devName]; } else { result = DriverLoader.GetImplementation <TDriver>(devName); if (result == null) { throw new DriverException($"Unable to create a driver instance for {devName} (DeviceType={DriverType})"); } Drivers.Add(devName, result); } } return(result); }
protected TDriver createDevice(string devName) => DriverLoader.GetImplementation <TDriver>(devName);