static CAvailableCloneSearchAlgorithms() { m_CloneSearchAlgorithms = new Dictionary <CloneSearchAlgoritms, CBaseCloneSearchStrategy>(); CBaseCloneSearchStrategy algorithm = new CBruteForceAlgorithm(); m_CloneSearchAlgorithms.Add(algorithm.AlgorithmID(), algorithm); algorithm = new CHashBucketAlgorithm(); m_CloneSearchAlgorithms.Add(algorithm.AlgorithmID(), algorithm); }
public static CBaseCloneSearchStrategy GetAlgorithm(CloneSearchAlgoritms AlgorithmID) { CBaseCloneSearchStrategy value = null; switch (AlgorithmID) { case CloneSearchAlgoritms.BruteForceAlgorithm: value = new CBruteForceAlgorithm(); break; case CloneSearchAlgoritms.HashBucketAlgorithm: value = new CHashBucketAlgorithm(); break; } System.Diagnostics.Debug.Assert(value != null, "Error! value is null!"); return(value); }