2017-12-29 21 views
0

ich eine Basisklasse in TJSONPost innerhalb Namespace App.JSon, an einigen Stellen habe ich Liste der TJSONPostDim Posts As New List<\TJSONPost> (Slash hinzugefügt zwischen weniger als Symbol zu zeigen), wenn ich versuche ich einen neuen Beitrag hinzufügen bekam seltsame Fehler wie folgt aus:Konflikte zwischen zwei Objekten aus derselben Klasse Gießen

BC30311: Value of type 'Web1.App.JSON.TJSONPost' cannot be converted to 
'App.JSON.TJSONPost'. 

bemerkte ich einen Projektnamen vor der ersten Definition!

+0

Der Fehler zeigt sich ändern müssen, dass Sie zwei verschiedene Namensräume haben –

Antwort

1

Sie haben zwei Klassen mit demselben Namen (aber unterschiedlichen Namespaces). Klingt wie Sie

Dim Posts As New List<TJSONPost> 

zu

Dim Posts As New List<Web1.App.JSON.TJSONPost> 
+0

Ihre Lösung funktioniert gut, aber wenn ich bewegt Klassen (Basisklasse und andere) im gleichen Namensraum Das hat viel gespart. danke – Realbitt

1

Verstehen Sie haben zwei Klassen, eine ein Kind und eine Elternteil.

Wenn die Liste der Basisklasse angehört, können Sie ihr Elemente der untergeordneten Klasse hinzufügen. Wenn die Liste jedoch der untergeordneten Klasse angehört, können Sie keine Basisklassenelemente hinzufügen. Ich empfehle Ihnen, zu ermitteln, welcher Typ jedes Objekt ist, und möglicherweise den vollständig qualifizierten Namen im Code zu verwenden, um alle Zweifel am Typ zu beseitigen.

Verwandte Themen