예제 #1
0
        /// <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);
        }
예제 #2
0
        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);
        }