Deux fonctions pour évaluer ocl
Avec l'aide de Jonas Hogstrom et Jan Nord & eacute n j'ai écrit 2 fonctions pour évaluer OCL.
la Première est d'évaluer OCL dans EcoSpace:
& nbsp objet public EvaluateOclInEcoSpace(IElement rootValue, chaîne ocl)
& nbsp {
& nbsp & nbsp objet result = null
& nbsp & nbsp IElement e = ((IOclService)
cette.GetEcoService(typeof(IOclService))).EvaluateAndSubscrib & timide e(rootValue, ocl,
null, null)
& nbsp & nbsp if (e != null)
& nbsp & nbsp résultat = e.AsObject
& nbsp & nbsp résultat de retour
& nbsp }
la Deuxième est d'évaluer OCL dans PS:
& nbsp objet public EvaluateOclInDB(IElement rootValue , chaîne ocl)
& nbsp {
& nbsp & nbsp objet result = null
& nbsp & nbsp IElement InternalElement = null
& nbsp & nbsp IOclService oclService = (IOclService)
cette.GetEcoService(typeof(IOcl & timide de Service))
& nbsp & nbsp IPersistenceService persistenceService = (IPersistenceService)
cette.GetEcoService(typeof(rapport d'examen préliminaire international & timide sistenceService))
& nbsp & nbsp AbstractCondition cond = oclService.CreateRetrieveCondi & timide tion(rootValue,
null, ocl)
& nbsp & nbsp InternalElement = persistenceService.GetAllWithCondition(cond, 1, 0)
& nbsp & nbsp si ((InternalElement != null) & & ((InternalElement comme IObjectList).Le comte
== 1))
& nbsp & nbsp résultat = (InternalElement comme IObjectList)[0].AsObject
& nbsp & nbsp résultat de retour
& nbsp }
bien sûr, vous pouvez faire ces fonctions plus complexes.
Vous pouvez retourner des résultats différents types, par exemple IObjectList, changer les paramètres pour GetAllWithCondition - dans cette version, il ne retourne que le & nbsp premier objet.
Deux fonctions pour evaluer ocl
Deux fonctions pour evaluer ocl : Plusieurs milliers de conseils pour vous faciliter la vie.
Avec l'aide de Jonas Hogstrom et Jan Nord & eacute n j'ai ecrit 2 fonctions pour evaluer OCL.
la Premiere est d'evaluer OCL dans EcoSpace:
& nbsp objet public EvaluateOclInEcoSpace(IElement rootValue, chaîne ocl)
& nbsp {
& nbsp & nbsp objet result = null
& nbsp & nbsp IElement e = ((IOclService)
cette.GetEcoService(typeof(IOclService))).EvaluateAndSubscrib & timide e(rootValue, ocl,
null, null)
& nbsp & nbsp if (e != null)
& nbsp & nbsp resultat = e.AsObject
& nbsp & nbsp resultat de retour
& nbsp }
la Deuxieme est d'evaluer OCL dans PS:
& nbsp objet public EvaluateOclInDB(IElement rootValue , chaîne ocl)
& nbsp {
& nbsp & nbsp objet result = null
& nbsp & nbsp IElement InternalElement = null
& nbsp & nbsp IOclService oclService = (IOclService)
cette.GetEcoService(typeof(IOcl & timide de Service))
& nbsp & nbsp IPersistenceService persistenceService = (IPersistenceService)
cette.GetEcoService(typeof(rapport d'examen preliminaire international & timide sistenceService))
& nbsp & nbsp AbstractCondition cond = oclService.CreateRetrieveCondi & timide tion(rootValue,
null, ocl)
& nbsp & nbsp InternalElement = persistenceService.GetAllWithCondition(cond, 1, 0)
& nbsp & nbsp si ((InternalElement != null) & & ((InternalElement comme IObjectList).Le comte
== 1))
& nbsp & nbsp resultat = (InternalElement comme IObjectList)[0].AsObject
& nbsp & nbsp resultat de retour
& nbsp }
bien sûr, vous pouvez faire ces fonctions plus complexes.
Vous pouvez retourner des resultats differents types, par exemple IObjectList, changer les parametres pour GetAllWithCondition - dans cette version, il ne retourne que le & nbsp premier objet.
Deux fonctions pour évaluer ocl
By commentfaire
Deux fonctions pour évaluer ocl : Plusieurs milliers de conseils pour vous faciliter la vie.