none
appel a une methode static RRS feed

  • Question

  • Bonjour,

    Je debute en Powershell, et j'essaye d'appeler une methode static d'une classe que j'ai crée. Cette classe est composée d'un constructeur sans argument qui ne fait rien du tout et d'une methode static NewFile qui crée un fichier à partir de données issues d'une BD MSSQL à partir de deux arguments (fichier, repertoire) et retourne 1 si tout est ok.

    Voici comment je m'y prends:

          [Reflection.Assembly]::LoadFrom( "C:\scriptPowerShell\MyClassLib.DLL")
           
          [MyClassLib]::NewFile("test",C:\scriptPowerShell")

         echo $?

    Voici la reponse:

    NewFile with 2 arguments: object not set to an instance of an object.

    j'ai alors essayé ceci:

    [Reflection.Assembly]::LoadFrom( "C:\scriptPowerShell\MyClassLib.DLL")
            $obj = new-Object MyClassLib.MakeFile
            $obj.NewFile("test","C:\scriptPowerShell")

    et la reponse:

    cannot find type [MyClassLib.MakeFile]: make sure the assembly containing this type is loaded

     

    Cela fait longtemps que je cherche, je vois vraiment pas. Pouvez vous m'aider svp.

    lundi 7 juin 2010 13:22

Réponses

  • Salut,

    utilises-tu la syntaxe [EspaceDeNom.classe] ?


    Beatus, qui prodest, quibus potest.
    mardi 8 juin 2010 07:45
    Modérateur
  • Bonjour,

    En complément de la question de Laurent, que donne la commande suivante: [MyClassLib] | get-member -static ?

     


    --- Marc Lognoul [MCSE, MCTS, MVP] Heureux celui qui a pu pénétrer les causes secrètes des choses Happy is the one who could enter the secret causes of things Blog EN: http://www.marc-antho-etc.net/blog/ Blog FR: http://www.marc-antho-etc.net/blogfr/
    mercredi 9 juin 2010 07:15
    Modérateur

Toutes les réponses

  • Alors j'ai un peu avancé, lorsque je fais :


            [Reflection.Assembly]::LoadFrom( "C:\scriptPowerShell\MyClassLib.DLL")
            [MyClassLib]::NewFile

    Je n'ai plus aucun message d'erreur et le echo $? return True.

    Par contre je ne trouve pas le fichier qui aurait du ce creer (j'utilise cette classe dans un website avec visual studio, et elle bien les fichiers desirés donc je ne pense pas que le probleme vient de là).

     

    lundi 7 juin 2010 15:21
  • Salut,

    utilises-tu la syntaxe [EspaceDeNom.classe] ?


    Beatus, qui prodest, quibus potest.
    mardi 8 juin 2010 07:45
    Modérateur
  • Bonjour,

    En complément de la question de Laurent, que donne la commande suivante: [MyClassLib] | get-member -static ?

     


    --- Marc Lognoul [MCSE, MCTS, MVP] Heureux celui qui a pu pénétrer les causes secrètes des choses Happy is the one who could enter the secret causes of things Blog EN: http://www.marc-antho-etc.net/blog/ Blog FR: http://www.marc-antho-etc.net/blogfr/
    mercredi 9 juin 2010 07:15
    Modérateur
  • Bonjour,

    Avez vous progressé sur ce problème? Merci de nous tenir informés!

     


    --- Marc Lognoul [MCSE, MCTS, MVP] Heureux celui qui a pu pénétrer les causes secrètes des choses Happy is the one who could enter the secret causes of things Blog EN: http://www.marc-antho-etc.net/blog/ Blog FR: http://www.marc-antho-etc.net/blogfr/
    mercredi 7 juillet 2010 10:50
    Modérateur