Med hjelp av Jonas Högström og Jan Nord é n jeg har skrevet 2 funksjoner for å vurdere OCL.First er å evaluere OCL i EcoSpace: public objekt EvaluateOclInEcoSpace (IElement rootValue, string OCL) {objekt resultat = null; . IElement e = ((IOclService) this.GetEcoService (typeof (IOclService))) EvaluateAndSubscrib e (rootValue, OCL, null, null); if (! e = null) resultat = e.AsObject; returnere resultat; }
Andre er å evaluere OCL i PS:
offentlig objekt EvaluateOclInDB (IElement rootValue, string OCL) {objekt resultat = null; IElement InternalElement = null; IOclService oclService = (IOclService) this.GetEcoService (typeof (IOcl Tjeneste)); IPersistenceService persistenceService = (IPersistenceService) this.GetEcoService (typeof (Iper sistenceService)); AbstractCondition dirigent = oclService.CreateRetrieveCondi sjon (rootValue, null, OCL); InternalElement = persistenceService.GetAllWithCondition (dirigent, 1, 0); if ((InternalElement = null) &! & ((InternalElement som IObjectList) .Count == 1)) resultat = (InternalElement som IObjectList) [0] .AsObject; returnere resultat; }
Selvfølgelig kan du gjøre disse funksjonene mer kompleks.
Du kan returnere forskjellige resultater typer, for eksempel IObjectList, endre parametrene for GetAllWithCondition - i denne versjonen den returnerer bare det første objektet
.
To funksjoner for å vurdere OCL
Previous:. Lagre og hente en Bitmap i ECO
Next Page:Multi Level DataGrid