/// <summary> /// The callable genes will be the source gene and all of the source gene's /// children and their children's children, etc. /// </summary> /// <param name="sourceGene"></param> /// <returns></returns> public override IList<IGEPGene> GetCallableGenes(IGEPGene sourceGene) { var callableGenes = new List<IGEPGene>() { sourceGene }; foreach (IGEPGene childGene in sourceGene.GetChildGenes()) callableGenes.AddRange(this.GetCallableGenes(childGene)); return callableGenes; }
/// <summary> /// The callable genes will be the source gene and all of the source gene's immediate children. /// </summary> /// <param name="sourceGene"></param> /// <returns></returns> public override IList<IGEPGene> GetCallableGenes(IGEPGene sourceGene) { var callableGenes = new List<IGEPGene>() { sourceGene }; callableGenes.AddRange(sourceGene.GetChildGenes().Cast<IGEPGene>()); return callableGenes; }
/// <summary> /// The callable genes will be all of the source gene's immediate children. /// </summary> /// <param name="sourceGene"></param> /// <returns></returns> public override IList<IGEPGene> GetCallableGenes(IGEPGene sourceGene) { return sourceGene.GetChildGenes().Cast<IGEPGene>().ToList(); }