Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Klasse und Namespace gleichen Namens (Mehrdeutiges Symbol in C++/CLI)
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

Themenstarter:

Klasse und Namespace gleichen Namens (Mehrdeutiges Symbol in C++/CLI)

beantworten | zitieren | melden

Hallo allerseits,

ich hab ein Problem mit einem Projekt unter C++/CLI.

Ich verwende darin eine unmanaged Klasse namens Mesh. Außerdem verwende ich eine .NET-Assembly, die den Namespace Mesh beinhaltet.

Wenn ich jetzt die Klasse Mesh irgendwo verwenden will, sagt mir der Compiler "Mehrdeutiges Symbol" (Ambiguous Symbol).

Was kann ich machen, um sowohl die Klasse als auch den Namespace Mesh in einem Projekt zu verwenden?

Vielen Dank schonmal,
Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
JunkyXL
myCSharp.de - Experte

Avatar #avatar-3234.gif


Dabei seit:
Beiträge: 1.665
Herkunft: Ein paar Bytes südlich von string

beantworten | zitieren | melden

Wenn es um die Verwendung geht, wo der Compiler meckert, dann sollte es genügen, die Klasse mit ihrem qualifizierten Namen anzusprechen.
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

Themenstarter:

beantworten | zitieren | melden

Wie sieht denn ein qualifizierter Name in unmanaged Code aus? Genauso wie in .NET, also Namespace.Klassenname?

Wie kriegt man denn raus, in welchem Namespace die Klasse deklariert wurde, oder gibt es in C++ auch Klassen ohne Namespace?
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
BhaaL
myCSharp.de - Member

Avatar #erP6yAFiewXrJTqrvg6R.jpg


Dabei seit:
Beiträge: 655

beantworten | zitieren | melden

Wenn du das ganze in C++ machst, müsste es die übliche Scope-Resolution Notation per :: sein. In C# ist's wie gehabt per .
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

Themenstarter:

beantworten | zitieren | melden

Soweit ich weiß, können doch Klassen in C++ ohne einen Namespace deklariert werden. Wie wäre dann der qualifizierte Name?
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
witte
myCSharp.de - Member



Dabei seit:
Beiträge: 955

beantworten | zitieren | melden

Du meonst den globalen Namensraum, ::myclass
private Nachricht | Beiträge des Benutzers
Xynratron
myCSharp.de - Member



Dabei seit:
Beiträge: 1.177

beantworten | zitieren | melden

huhu,
Zitat von MrSparkle
Soweit ich weiß, können doch Klassen in C++ ohne einen Namespace deklariert werden.

in c# geht das auch. Da ist es dann - wenn es wider erwarten nicht gefunden wird - "global::"

Aber in c# gibt es vermutlich auch dasselbe Problem, wenn eine Klasse und ein Namespace in dem Fall denselben Namen haben.

:-)

Xynratron
Herr, schmeiss Hirn vom Himmel - Autsch!
Zitat von herbivore
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo zusammen,

... weshalb man im Allgemeinen von vornherein alles dran setzen sollte, dass es keine Klassen gibt, die wie Namespaces heißen. Einen guten Schritt in diese Richtung kann man gehen, indem man Namenspaces möglichst konsequent in der Mehrzahl und Klassen möglichst konsequent in der Einzahl benennt. Das ist auch durch die Namenskonventionen von Microsoft gedeckt.

herbivore
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

Themenstarter:

beantworten | zitieren | melden

Hallo allerseits,

vielen Dank für die Antworten, es hat so funktioniert. Schön daß man auch hier im Forum auch solche C++-spezifischen Fragen loswerden kann :)

Schöne Grüße,
Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers