J'ai un objet COM écrit dans Visual Fox Pro 9.0. Il a la procédure suivante:InvalidCastException Object [*] to Object []
PROCEDURE GetArray(m.vcArrayName as String) as array
RETURN @&vcArrayName
L'objet COM est référencé dans un projet VS2010 utilisant C#. La signature de la procédure en C# est:
object GetArray(string vcArrayName);
Lors du débogage, je peux voir que la valeur retournée est {objet [1..1]} alors que le type est objet {objet []}. En développant la variable, je peux voir que c'est un tableau de base 1 avec un élément qui est une chaîne vide ("");
Toutefois, je ne peux pas convertir cette valeur en objet []. Je reçois toujours une exception InvalidCastException avec un message norvégien disant que je ne peux pas lancer Object [*] en Object [].
Une chose étrange est que si l'objet COM renvoie un tableau à deux dimensions, je n'ai aucun problème à le convertir en object [,]. Je trouve très étrange que deux dimensions soient plus faciles à gérer qu'une!
La question que je voudrais répondre est:
Quel est cet objet [*] affaires? Quelqu'un peut-il me dire si c'est une mauvaise traduction dans le message d'exception norvégien ou si Object [*] est une sorte de syntaxe C# obscure dont je n'ai pas entendu parler?