/// <summary> /// /// </summary> private void ScanClientConnectionFactory() { Log.WriteLine(LogLevel.Info, $"{nameof(TrinityClient)}: scanning for client connection factory."); var rank = ExtensionConfig.Instance.ResolveTypePriorities(); int RankFunc(Type t) { return(rank.TryGetValue(t, out var r) ? r : 0); } m_clientfactory = AssemblyUtility.GetBestClassInstance <IClientConnectionFactory, DefaultClientConnectionFactory>(null, RankFunc); }
private void ScanClientConnectionFactory() { Log.WriteLine(LogLevel.Info, $"{nameof(TrinityClient)}: scanning for client connection factory."); var rank = ExtensionConfig.Instance.ResolveTypePriorities(); Func <Type, int> rank_func = t => { if (rank.TryGetValue(t, out var r)) { return(r); } else { return(0); } }; m_clientfactory = AssemblyUtility.GetBestClassInstance <IClientConnectionFactory, DefaultClientConnectionFactory>(null, rank_func); }