IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Injecter un Custom Attribute


Sujet :

Framework .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut Injecter un Custom Attribute
    EDIT : Question passée sur le forum C# (même si, stricto sensu, elle a plus sa place ici).

    Bonjour

    J'ai un petit soucis pour lequel je n'ai imaginé pour l'instant qu'une seule solution qui consisterait à "injecter" un nouveau custom attribute à une classe compilée.

    Or, je n'ai aucune expérience sur les possibilités d'injection de code à la volée avec .Net (même si je sais que c'est possible).

    Donc, pour faire court, considérons que j'ai une classe A public & sealed présente dans un assembly, sans accés aux sources, et je souhaite ajouter à cette classe l'attribut Editor (en réalité j'ai besoin de patcher le BindUITypeEditor utilisé comme éditeur pour la classe ActivityBind du WWF; pour cela la seule possibilité que je vois est de faire "voir" par le designer un attribut Editor pour cette classe : si vous voyez une autre possibilité, je suis réceptif à toute suggestion).

    Merci !

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut.

    Premier point : Tu est entrain de parler de modification de code du FX dotnet de MS, ce qui est totalement interdit par le contrat de licence

    Deuxième point : Tu ne peux pas modifier les assemblies signés (comme celle du FX), car la signature serait modifié, les programmes refuserais donc d'utiliser cette assembly.

    Troisième point : Ce que tu cherches, c'est l'injection de code IL et dans ce cas il faut aller faire un tour du coté de la reflection, du codedom, et du compilateur intégré dans le FX.

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Merci pour ta réponse :

    Citation Envoyé par dev01 Voir le message
    Salut.

    Premier point : Tu est entrain de parler de modification de code du FX dotnet de MS, ce qui est totalement interdit par le contrat de licence
    Je ne cherche pas à modifier le code, mais à modifier son comportement, nuance

    Deuxième point : Tu ne peux pas modifier les assemblies signés (comme celle du FX), car la signature serait modifié, les programmes refuserais donc d'utiliser cette assembly.
    Oui, c'est évident et j'aurais du m'en douter.

    Troisième point : Ce que tu cherches, c'est l'injection de code IL et dans ce cas il faut aller faire un tour du coté de la reflection, du codedom, et du compilateur intégré dans le FX.

    Sauf que l'injection de code via Reflection.Emit ne marche pas sur autre chose que des assemblies dynamiques.
    Finalement, je réalise mon besoin fonctionnel en hostant un wf designer un peu customisé : c'est encore le plus simple et le moins contraignant, même si cela me génére quelques contraintes de déploiement (comme les utilisateurs du WF designer ne seront qu'une poignée, cela relativise le problème).

Discussions similaires

  1. Custom attribute et reflection
    Par nonoxp dans le forum C#
    Réponses: 2
    Dernier message: 26/09/2013, 11h19
  2. [JAXB 2.0] customization attribute
    Par noOneIsInnocent dans le forum Persistance des données
    Réponses: 1
    Dernier message: 26/06/2008, 10h06
  3. Injecter un custom attribute
    Par Bluedeep dans le forum C#
    Réponses: 3
    Dernier message: 11/11/2007, 21h45
  4. [C#] Custom attribute
    Par Mathieu.Nanoux dans le forum Framework .NET
    Réponses: 2
    Dernier message: 16/05/2007, 14h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo