コード例 #1
0
        public bool TryGetBackendFor <T>(T element, out IAnalyzableBackend <T> backend) where T : IAnalyzable
        {
            IAnalyzableBackend outValue = null;
            var result = map.TryGetValue(element, out outValue);

            backend = (IAnalyzableBackend <T>)outValue;
            return(result);
        }
コード例 #2
0
        public IEnumerable <string> GetAvailableAnalyzersFor(IAnalyzableBackend backend)
        {
            if (!analyzers.ContainsKey(backend.GetType()))
            {
                return(new string[0]);
            }

            return(analyzers[backend.GetType()].Where(x => x.Item2).Select(x => (IAnalyzableBackendAnalyzer)Activator.CreateInstance(x.Item1)).Select(y => y.GetType().FullName));
        }
コード例 #3
0
        public IEnumerable <string> GetAvailableAnalyzersFor(IAnalyzableBackend backend)
        {
            if (!analyzers.ContainsKey(backend.GetType()))
            {
                return(new string[0]);
            }

            return(analyzers[backend.GetType()].Where(x => x.Item2).Select(x => x.Item1.FullName));
        }
コード例 #4
0
 public bool TryGetBackendFor(IAnalyzable peripheral, out IAnalyzableBackend backend)
 {
     return(map.TryGetValue(peripheral, out backend));
 }
コード例 #5
0
 public string GetPreferredAnalyzerFor(IAnalyzableBackend backend)
 {
     return(preferredAnalyzer.ContainsKey(backend.GetType()) ? ((IAnalyzableBackendAnalyzer)Activator.CreateInstance(preferredAnalyzer[backend.GetType()])).GetType().FullName : null);
 }