public Task <double> GetDoseAtVolume(string StructureId, double ConstraintValue, VolumePresentation VP, DoseValuePresentation DVP) { switch (PlanType) { case ComponentTypes.Plan: return(A.ExecuteAsync(new Func <PlanSetup, double>((p) => { return (p.GetDoseAtVolume(_Structures[StructureId], ConstraintValue, VP, DVP)).Dose; }), p)); case ComponentTypes.Sum: return(A.ExecuteAsync(new Func <PlanSum, double>((ps) => { return (ps.GetDoseAtVolume(_Structures[StructureId], ConstraintValue, VP, DVP)).Dose; }), ps)); default: return(null); } }