Finden Sie eine Klasse sein .cs-Datei im Projekt

Wie finde ich die .cs-Datei, die enthält einer Klasse in ein Projekt per code?

Ich es mir vorstellen könnte wie folgt Aussehen:

string pathToFoo = ClassFileFinder.FindClassPath(typeof(Foo));
  • die OP geschrieben, eine pseudocode, was er sucht
  • Tun eine Datei Suche ?
  • Dieses problem geht weit über das hinaus, was ich gewohnt bin. Die einzige Möglichkeit die ich mir denken kann wird durch die .cs-Dateien in das Projekt und Scannen über diese als text an, auf der Suche nach der definition der Klasse, die Sie erwarten würden. Aber das ist nicht sehr elegant. Und ich vermute, nicht völlig narrensicher entweder.
  • rechten klicken Sie auf die Zeile, und wählen Sie Go to definition
  • Was ist eigentlich Ihr Ziel?
  • Ich habe angegeben, ich brauche es, um den Zugang "nach code".
  • Können Sie uns erklären, aus welchem Grund Sie diese Funktionalität benötigen? Vielleicht gibt es eine andere Methode.
  • Dann machen Sie eine visual studio-makro, das tut es, Ihr cs-Dateien werden dort nicht in die kompilierte exe-Datei, was wollen Sie erreichen?
  • Sakthivel ich Schreibe eine client-server-collaboration-tool für ein Spiel-engine, wo die Projekte sind teilweise synchronisiert zwischen den beiden. Ich muss der client in der Lage sein, auf Anforderung eine bestimmte Klasse von Namen, und der server braucht zu liefern .cs-Klassendatei. Edit: Und natürlich nichts erhoben .exe-Datei in den Prozess, aber der Spiel-editor aufrufen konnte pseudocode, die ich gepostet.
  • ich würde vorschlagen einen Klasse Ordner mit den Klassen und auf den client-Anfrage ruft Ihren className + ".cs" - Datei in diesem Ordner, ich habe nicht' wissen, ob es helfen kann, oder wenn es möglich ist, in Ihrer situation
  • Ich war in dieser Richtung zu denken. Es hängt allerdings von der user (server-administrator) folgenden Anweisungen sorgfältig durch, und es schränkt die Art und Weise, in der die Benutzer-Struktur sein Projekt (zum Beispiel kann eine partielle Klassen und darf nicht mehrere Klassen in einer Datei). Eine Volltext-Suche durch alle .cs-Dateien unterstützen würde partiellen Klassen und multi-class-Dateien, aber ist nicht optimal (langsam). Edit: ich vermute, es ist die einzige praktikable option, wenn.
  • 'server-client collaboration-tool'? Du meinst eine Art von source-control-system? Was ist das problem mit der Verwendung von, sagen wir, Git oder Mercurial?
  • Es hat spezifische Funktionen für den editor/engine, Git fehlt. Git würde, Griff dieser speziellen Ausgabe (ich würde eher handle es mich in das tool aber).
  • Ich habe geschrieben und getestet ClassFileFinder-Klasse basiert auf der Idee, sich durch den text von der Projekt-buchstäblich. Ich kann nicht post es denn noch warten müssen 10 Stunden. Wird die Klasse, wenn möglich.

InformationsquelleAutor Julian | 2013-09-09
Schreibe einen Kommentar