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