Function

vbnino Messages postés 218 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 11 juillet 2010 - 19 août 2007 à 16:45
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 19 août 2007 à 18:48
Salut!

 --Je voulez faire une function qui renvoi un resultat avec un fichier DLL, voici le code:

      public classmath
    {
            MSScriptControl.ScriptControlClass z ;
            public string EVAL_(string function)
            {
                z.Language = "" ; 'ici je sais pas quoi méttre comme language
                return z.Eval(function) ;
            }
    }

 -Voici l'érreur :
Erreur    2    Impossible de convertir implicitement le type 'object' en 'string'. Une conversion explicite existe (un cast est-il manquant ?)    C:\Documents and Settings\Omar\Local Settings\Application Data\Temporary Projects\WindowsApplication1\Class1.cs    13    24    WindowsApplication1

-Je commen avec C# , ou est mon erreur.

-Merci

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 août 2007 à 17:31
Salut,

La méthode EVAL_ est censée retourner une instance de la classe String, or toi tu retournes directement le retour de l'appel à la méthode Eval, qui est un object.
Tu dois explicitement caster en string ce retour :

Soit par un cast :
return (String)z.Eval(function) ; // ceci levera une exception si jamais le retour d'Eval n'est pas une instance de String

soit pas l'opérateur as
return (z.Eval(function)) as String // ceci se contentera de retourner null si le cast n'est pas possible

N'hésite pas à consulter la documentation du langage, ainsi que la liste des erreurs de compilation qui peut donner quelques détails et pistes.

/*
coq
MVP Visual C#
CoqBlog
*/
0
vbnino Messages postés 218 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 11 juillet 2010
19 août 2007 à 18:44
Mais que dois-je mettre ici :

  z.language= "xxxx" , par quoi remplace xxxx?

 -Avec VB je remplace par "vbscript" , mais si en utilise C#?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 août 2007 à 18:48
A la base: aucune idée.
Mais à priori je dirais que logiquement, c'est le langage du script, et pas celui du code se servant de ScriptControlClass.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous