public void test1() { double[] mz = new double[] { 1, 2, 3, 4, 5 }; double[] intensity = new double[] { 1, 2, 3, 4, 1 }; List <IPeak> peaks = new List <IPeak>(); for (int i = 0; i < mz.Length; i++) { peaks.Add(new GeneralPeak(mz[i], intensity[i])); } IAreaCalculator calculator = new TrapezoidalRule(); IBounder bounder = new PerpendicularDrop(); PeakAreaCalculator areaCalculator = new PeakAreaCalculator(calculator, bounder); areaCalculator.Init(peaks); Console.WriteLine(areaCalculator.Area(new GeneralPeak(4.0, 1))); }