/// /// * <param name="factory"> </param> /// private void addToFactory(BaseWalkerFactory factory) { System.Type cBase = typeof(BaseWalker); System.Type c = this.GetType().BaseType; // calculate the number of intermediate classes while (cBase.IsAssignableFrom(c)) { c = c.BaseType; depth++; } factory.addWalker(this); }