Type dynamique avec api catia

loucapa57 Messages postés 2 Date d'inscription mardi 15 novembre 2022 Statut Membre Dernière intervention 16 novembre 2022 - 15 nov. 2022 à 14:40
Whismeril Messages postés 18944 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 25 février 2024 - 16 nov. 2022 à 11:39

Bonjour, j'essaye d'utiliser le type "dynamic" avec une api du logiciel catia, j'ai fais un petit prog de test qui me donne une erreur

OrderedGeometricalSet O = (OrderedGeometricalSet)Catia.CurrentPart.OrderedGeometricalSets.GetItem("aaa");
HybridBody H = (HybridBody)Catia.CurrentPart.HybridBodies.GetItem("bbb");

// les class  "OrderedGeometricalSets" et "OrderedGeometricalSets" ont une meme propriéte "HybridShapes"

dynamic D = O;            
MessageBox.Show("" + O.HybridShapes.Count + "  " + D.HybridShapes.Count);
D = H;
MessageBox.Show("" + H.HybridShapes.Count + "  " + D.HybridShapes.Count);

j'obtiens le message:

Quelqu'un aurait une explication ?

2 réponses

Whismeril Messages postés 18944 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 25 février 2024 649
15 nov. 2022 à 16:45

Bonjour 


Je ne connais pas ton APi, je ne peux que spéculer.


Quel est le type de la propriété Count?

Perso, j'aurais tendance à dire int, et du coup on ne concatène pas des int comme ça.

Il faut utiliser string.Format ou sa simplification par le caractère clé $.


Mais le message d'erreur ne fait pas penser à un problème de concaténation.

Que se passe t il si tu exécutes le code avec cette ligne

MessageBox.Show(D.HybridShapes.Count);

?
 


Quand j'étais petit, la mer Morte n'était que malade.
George Burns

0
loucapa57 Messages postés 2 Date d'inscription mardi 15 novembre 2022 Statut Membre Dernière intervention 16 novembre 2022
16 nov. 2022 à 11:06

Wismeril, Merci pour ta réponse.

L’affichage avec MessageBox.Show("" + O.HybridShapes.Count)  sans "D"  fonctionne  (O étant de type défini mais avec "D" ça plante.

ma question concerne le passage en type dynamic des variables O et H ou je n’accède plus au propriété au moment de l’exécution.

Est t'il possible l'API catia  ne permette pas l'utilisation de variable dynamic

0
Whismeril Messages postés 18944 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 25 février 2024 649
16 nov. 2022 à 11:39

Je ne sais pas, je n'ai pas Catia, donc pas son API non plus.

Et puis, je ne vois pas d'interêt au type dynamic, je ne l'utilise jamais.

0
Rejoignez-nous