Exemplo n.º 1
0
        private static T CreateImplementationInstanceInternal <T>(IDetectable detectable, List <ParametersPair> parametersList, List <object> interfacesList)
        {
            Type           type          = detectable.Implementation;
            ParametersPair parameterPair = parametersList.SingleOrDefault(item => item.TypeName == detectable.GetType().AssemblyQualifiedName);

            if (parameterPair == null && !interfacesList.Any())
            {
                return((T)Activator.CreateInstance(type));
            }
            else
            {
                List <object> parameters = new List <object>();
                if (parameterPair != null)
                {
                    parameters.AddRange(parameterPair.Parameters);
                }

                parameters.AddRange(interfacesList);

                return((T)Activator.CreateInstance(type, parameters.ToArray()));
            }
        }
 public MixedSearchEngineDataView(int orderIndex, ParametersPair instance)
 {
     OrderIndex    = orderIndex;
     this.instance = instance;
 }