コード例 #1
0
    public string RegisterHarvester(List <string> arguments)
    {
        Type      type = Assembly.GetExecutingAssembly().GetTypes().First(x => x.Name == arguments[0] + "Harvester");
        Harvester harvester;

        try
        {
            if (type.Name == "SonicHarvester")
            {
                harvester = harvestFactory.CreateInstance(arguments) as Harvester;
            }
            else
            {
                harvester = harvestFactory.CreateInstance(arguments) as Harvester;
            }
        }
        catch (Exception e)
        {
            string propName = e.InnerException.TargetSite.Name.Substring(4);
            return($"Harvester is not registered, because of it's {propName}");
        }
        harvesters[arguments[1]] = harvester;
        return($"Successfully registered {arguments[0]} Harvester - {arguments[1]}");
    }