/// <summary> /// create BeamSystemParam's subclass according to LayoutMethod /// </summary> /// <param name="layoutType">LayoutMethod</param> /// <returns>created BeamSystemParam's subclass</returns> public static BeamSystemParam CreateInstance(LayoutMethod layoutType) { BeamSystemParam param = null; switch (layoutType) { case LayoutMethod.ClearSpacing: param = new ClearSpacingParam(); break; case LayoutMethod.FixedDistance: param = new FixedDistanceParam(); break; case LayoutMethod.FixedNumber: param = new FixedNumberParam(); break; case LayoutMethod.MaximumSpacing: param = new MaximumSpacingParam(); break; default: break; } // it is absolutely impossible unless layoutType is wrong Debug.Assert(null != param); return(param); }
/// <summary> /// create BeamSystemParam's subclass according to LayoutMethod /// </summary> /// <param name="layoutType">LayoutMethod</param> /// <returns>created BeamSystemParam's subclass</returns> public static BeamSystemParam CreateInstance(LayoutMethod layoutType) { BeamSystemParam param = null; switch (layoutType) { case LayoutMethod.ClearSpacing: param = new ClearSpacingParam(); break; case LayoutMethod.FixedDistance: param = new FixedDistanceParam(); break; case LayoutMethod.FixedNumber: param = new FixedNumberParam(); break; case LayoutMethod.MaximumSpacing: param = new MaximumSpacingParam(); break; default: break; } // it is absolutely impossible unless layoutType is wrong Debug.Assert(null != param); return param; }