Пример #1
0
        public static FrontEndConnection CreateFrontEndConnection(
            string identifier,
            ConnectionBuilderSettings settings,
            params object[] parameters)
        {
            Type t = GenericClassIdentifierFactory.FindTypeForIdentifier <FrontEndConnection>(identifier);

            if (t == null)
            {
                return(null);
            }

            FrontEndConnectionAttribute attr = (FrontEndConnectionAttribute)t.GetCustomAttributes(typeof(FrontEndConnectionAttribute), false)[0];

            if (attr.ConnectionBuilder != null)
            {
                IConnectionBuilder connectionBuilder = (IConnectionBuilder)
                                                       GenericClassIdentifierFactory.CreateInstance(attr.ConnectionBuilder, parameters);

                connectionBuilder.Settings = settings;
                return(connectionBuilder.SetupConnection());
            }
            else
            {
                return(GenericClassIdentifierFactory.CreateFromClassIdentifierOrType <FrontEndConnection>(identifier, parameters));
            }
        }