/// <summary> /// permet de vérifier que le context est ok apres son initialisation /// </summary> /// <param name="newCtx">le context qui vient d'etre créé</param> /// <returns>True : le contexte contient bien une propriété appelé "ValidationData". False sinon.</returns> public bool IsNewContextOK(Context newCtx) { DataValidationProperty prop = newCtx.GetProperty("DataValidation") as DataValidationProperty; if (prop != null) // on a une propriété appelé ValidationData dans le contexte ? { return(true); // Oui -> on accepte le contexte } return(false); // Non -> on refuse le contexte }
//Le runtime .NET interroge pour savoir si le contexte courant est valide. //Si cette fonction false, le runtime créé un nouveau contexte et appelle GetPropertiesForNewContext() // pour vérifier si le context est valid, on vérifie la présence (et la validité si besoin) d'un propriété public override bool IsContextOK(Context ctx, IConstructionCallMessage ctorMsg) { //return false; // Seulement si vous souhaitez un contexte par instance ! DataValidationProperty prop = ctx.GetProperty("DataValidation") as DataValidationProperty; if (prop != null) // on a une propriété appelé ValidationData dans le contexte ? { return(true); // Oui -> on accepte le contexte } return(false); // Non -> on refuse le contexte }
// Permet d'ajouter des propriétés dans un nouveau contexte // ( Une propriété est un peu l'équivalent des shared properties utilisable avec COM+ dans ComponentServices ) public override void GetPropertiesForNewContext(IConstructionCallMessage ctor) { DataValidationProperty validProp = new DataValidationProperty(); ctor.ContextProperties.Add(validProp); }