Pourquoi est-ce que je reçois cette erreur .NET - « TypeError: liste attendue [DataPoint], a obtenu Liste [DataPoint] »
-
15-10-2019 - |
Question
Je refactorisé code, et maintenant je reçois cette erreur lors de l'appel d'une fonction. Mais tout semble être bien, je failing_argument.GetType().AssemblyQualifiedName
même comparé entre l'ancien et le nouveau code et ils sont les mêmes. Toutes les idées ce qui pourrait être mal?
L'invocation de la fonction est dans le code IronPython, la fonction est dans le code C # (un ensemble qui n'a pas changé au cours de cette refactoring).
Quel genre de chose pourrait générer cette erreur?
EDIT: complète IronPython retraçage:
Traceback (most recent call last):
File "D:\Work\Framework\python\ide\tab_manager.py", line 57, in add_chart_tab
chart_tab = ChartTab(self.__main_window, self, tab_item, name, chart_descriptor)
File "D:\Work\Framework\python\ide\chart_tab.py", line 64, in __init__
self.__chart = Chart(self, self.__gui_cfg, self.__base_cfg, self.__chart_descriptor, self.__scroll_bar)
File "D:\Work\Framework\python\ide\chart.py", line 57, in __init__
self.update_topology(empty=False)
File "D:\Work\Framework\python\ide\chart.py", line 93, in update_topology
self.update_config()
File "D:\Work\Framework\python\ide\chart.py", line 111, in update_config
self.__global.chart_view = ChartView(self.__global)
File "D:\Work\Framework\python\ide\chart_view.py", line 33, in __init__
self.__spans = SpanUtil.compute_spans(time_series, gap_threshold)
TypeError: expected List[DataPoint], got List[DataPoint]
La solution
Après plus débogage j'ai réussi à obtenir un message d'erreur différent du code: Unable to cast object of type 'List[DataPoint]' to 'List[DataPoint]'
Recherche de cela a donné quelques articles expliquant le problème:
http : //www.infinitec.de/post/2008/05/InvalidCastException-Unable-to-cast-object-of-Type-X-to-X.aspx
http://geekswithblogs.net/rupreet/archive/2010/02/16 /137988.aspx
Il se trouve que l'ensemble contenant DataPoint
(de List[DataPoint]
) il est chargé à deux reprises dans ma demande de deux endroits différents. La cause dans mon cas est que lorsque Visual Studio construit un assemblage, il copie également toutes les autres assemblées référencées à côté du nouvellement construit un dans le dossier bin
. Mais je charge aussi de façon dynamique l'un des ensembles référencés à partir de son emplacement de construction d'origine.
Autres conseils
Peut être un problème avec la résolution de type ... utilisez le nom de type complet (y compris l'espace de noms). Certains exemple de code pourrait aider!