Ich versuche, eine Funktion im aktiven Dokument zu finden, aber ich kämpfe mit einem Problem, wenn die Funktion innerhalb eines Namespace ist, versucht mein Code, die Mitglieder des EnvDTE.CodeNamespace-Objekts zu erhalten, aber es leer zurückkehrt, habe ich versucht Kinder auch, aber es war auch leer.EnvDTE.CodeNamespace Mitglieder sind leer?
http://www.mztools.com/articles/2006/MZ2006009.aspx
Mein Code ist in der Regel C# -Implementierung dieses Codes. Es kämpft um;
If TypeOf objCodeElement Is EnvDTE.CodeNamespace Then
colCodeElements = CType(objCodeElement, EnvDTE.CodeNamespace).Members
Diese Funktion gibt leere CodeElements zurück. Irgendeine Idee, wie man es löst?
S.: Meine Erweiterung läuft auf C++ - Dateien.
Bearbeiten: Senden der Testcodes.
#include "stdafx.h"
#include "Header.h"
namespace ns_deneme{
int zaza::func_deneme(int k)
{
a = k;
return a;
}
}
int wmain(int argc, wchar_t* argv[])
{
xaxa a;
int ba = a.deneme2(5);
}
int xaxa::deneme2(int a){
return a;
}
header.h
namespace ns_deneme{
class zaza{
private:
int a;
int func_deneme(int k);
};
}
class xaxa{
public:
int deneme2(int a);
};
Problem ist, dass es die Funktionen von wmain und deneme2 an CPP-Datei (Header-Datei arbeiten auch nicht, dass es etwas gibt wie -over reichen etc.-) findet aber Auch derenem aus cpp-Datei funktioniert nicht.
Der Code aus dem Link funktioniert für mich. Können Sie eine minimale C++ - Datei posten, mit der Sie ein Problem haben? Was ist Ihre Visual Studio-Version? –
@SergeyVlasov sicher, Entschuldigung für Verspätung, habe ich nichts überprüft Arbeit am Wochenende. Bearbeiten Sie die Frage jetzt. – mtilhan
Ich kann jetzt das Problem mit dem C++ Code reproduzieren, den Sie gepostet haben. –