• # chezmoicamarche.org

    Posté par (site web personnel) . En réponse au message Custom attributes: le retour :-(. Évalué à 3.

    Effectivement tu n'as pas bien compris le schmurck :)
    Premièrement c'est normale le is null, tu fais ton test dans une boucle foreach, et tu peux très bien trouvé tout pleins d'autres attributes uqi ne sont pas les tiens.

    En tout cas chez moi j'ai essayé ton attribute dans une dll, et j'ai testé avec ca :
    Assembly asm = Assembly.LoadFrom("plugin.dll");
    Attribute[] attributes = Attribute.GetCustomAttributes(asm);

    foreach(Attribute attribute in attributes)
    {
    if (attribute is AssemblyDependencies)
    {
    Console.WriteLine("trouvé !");
    AssemblyDependencies ds = (AssemblyDependencies)attribute;
    foreach(string s in ds.Dependencies.Keys) Console.WriteLine(s+" : "+ds.Dependencies[s]);
    }
    }

    et ma fois ca marche nickel, j'obtiens ca en résultat :
    trouvé !
    aa : 1.0.0.0
    ee : 1.0.0.0

    Sinon plutôt que de faire un attribute avec un nombre variable d'argument, tu peux aussi en mettre que 2, nom+version, et proposer à l'utilisateur de mettre plusieurs fois l'attribut s'il veut multiplié les dependances.

    Ah oui aussi je sais pas trop ce que tu veux faire, mais la gestion des dépendances d'habitudes c'est un obulot réservé au CLR, et tu n'as absolument rien à faire pour les gérer mais bon :)