Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

07.01.2015, 15:19

Wäre es denn über Code iwie möglich, den namen einer Klasse zu Ändern (reine Neugier!)

So nach dem Motto:

Type classType = typeof(Form1);

classType.SetClassName("neuer klassenname");

//oder so ähnlich?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

07.01.2015, 15:25

Nein. Wozu sollte das auch gut sein?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

23

07.01.2015, 15:35

das es dann eben möglich wäre, so ne Ersetztools zu entwerfen. Und Notepadd++ kann das eben nicht!

FSA

Community-Fossil

  • Private Nachricht senden

24

07.01.2015, 15:36

Geht das nicht?

Quellcode

1
using Alias = EinLangerNamerEinerKlasse;

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

25

07.01.2015, 15:37

Es gibt da schon einen gewissen Unterschied zwischen einem physischen Dateinamen und einem Klassen-Namen innerhalb einer Datei oder zur Laufzeit im Speicher... Notepad++ kann alle Klasse-Deklarationen in den Files auf einen Schlag ändern. Aber es kann nicht die Dateien selbst umbenennen. Das sind zwei ganz verschiedene Dinge!
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

26

07.01.2015, 15:42

Also hier ein Beispiel:

class Person {} //Name zur Laufzeit im Speicher: "Person" und auch in der IDE heisst es im Projektmappenexplorer: "Person.cs"
//wirklicher Dateiname, also der Name der Datei auf dem Datenträger: "Person.cs"

@BlueCobold

du sagtest, das Notepad das erste umbenennen kann, also z.b statt Person, Mensch draus macht, aber auf dem Datenträger heisst es immernoch Person.cs?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

27

07.01.2015, 15:44

Notepad++ kann jeden Text innerhalb einer Datei ändern, sogar in allen Dateien auf Deiner Festplatte. Es kann jedes Vorkommen von "Person" durch "Mensch" in all Deinen Dateien ersetzen. Es kann aber nicht Dateinamen ändern. Daher sagte ich, musst Du die Dateien selbst umbenennen. Alle Referenzen auf die Dateien oder Klassen mit ihren Namen, werden aber geändert.

Beispiel:
Person.cs enthält den Code "class Person". Daraus wird "class Mensch".
MyProj.sln enthält den Text: "Person.cs". Daraus wird "Mensch.cs".
Aber die Datei Person.cs auf Deiner Festplatte musst Du selbst in Mensch.cs umbenennen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

28

07.01.2015, 15:48

Es sei dir wie immer gedankt, da war ich mir nämölich nicht ganz klar :))

Und wenn ich beispiels weise 3 Arten von Namen umbenennen will: z.B

ich habe 40 Klassendateien von Hello[Klassenname]
ich habe 20 Klassendateien von Bla[Klassenname]

ich habe 50 Klassendateien von My[Klassenname]


Kann ich in NP++ auch sagen, entferne "Hello" aus Klassenname und sonst überall, entferne "Bla" überall, und entferne "My" überall?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »JungleProgger« (07.01.2015, 15:53)


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

29

09.01.2015, 10:27

Vielleicht gibt es Möglichkeiten. Wenn Hello nicht irgendwo anders in deinen Codedateien vor kommt kannst du einfach überall nach dem Substring "Hello" in den Dateien suchen und dies löschen. Das selbe kannst du mit Bla und My machen. Entweder eben über Notepad oder vergleichbare Editoren oder du schreibst dir ein kleines Programm was die Codedateien als Textdatei einliest und eben verändert. Eine weitere Einschränkung wäre, lösche "Hello" nur wenn darauf ein Alphanumerisches Zeichen folgt. Dann würde "HelloClass" zu "Class" und "Hello World" würde "Hello World" bleiben. Wie du da ran gehst hängt halt immer ein wenig vom Inhalt deiner Dateien ab.
Hast du denn wirklich so extrem viele Klassendateien?
Eine weitere Möglichkeit, schreib ein eigenes Programm. Gehe alle Dateien durch und suche nach dem Schlüsselwort "class". Merke dir das darauf folgende Wort, also den Klassennamen, wenn dieser mit "Hello", "Bla" oder "My" startet. Am Ende hast du eine Liste von den Klassennamen die verändert werden sollen. Durchsuche jetzt alle Codedateien nach diesen Wörtern und ändere sie entsprechend. Danach gehst du alle Dateinamen durch und änderst diese genau so ab.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige