Mono - mehrere Dateien?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
BeS
Moderator
Beiträge: 3236
Registriert: 17.04.2002 18:30:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Stuttgart
Kontaktdaten:

Mono - mehrere Dateien?

Beitrag von BeS » 29.10.2004 21:21:49

Hallo,
ich schaue mir gerade mal mono in Verbindung mit GTK# an.
Gefällt mir eigentlich ganz gut was ich bisher sehe.
Aber eines habe ich noch nicht so ganz verstanden.
Wenn ich mit monodevelop ein gtk# Projekt starte, dann bekomme ich gleich eine Main.cs und eine MyWindows.cs. In der main.cs wird die mywindows.cs aber nicht eingebunden, wie man das z.B. von C/C++ gewohnt ist.
Woher weiß main.cs wo es die Klasse MyWindows her bekommt?

Kann ich in C# etwas beliebige Klassen in beliebigen Dateien erzeugen und sie dann kreuz und quer verwenden und c# weiß immer von selber wo die Klasse herkommt?
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support

Ich spreche von Freier Software!

Benutzeravatar
suntsu
Beiträge: 2947
Registriert: 03.05.2002 10:45:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: schweiz
Kontaktdaten:

Beitrag von suntsu » 29.10.2004 21:47:35

In dem Fall wird die Klasse main zusammen mit der Klasse MyWindows kompiliert, desshalb findet Main auch ohne Probleme MyWindows.

Code: Alles auswählen

	mcs $(MCS_OPTIONS) -target:exe -out:"Test.exe" $(PKG_REFERENCES_BUILD) $(SOURCES) \
	&& cp "Test.exe" ./build/bin/.
Aber das ganze würde auch funktionieren wenn man MyWindows als dll kompilieren würde, und Main als exe, und die beiden dann im selben verzeichniss hat.

Wenn die zwei assemblies nicht im selben Verzeichniss liegen gibt es unter Windows den GAC(Global Assembly Chache), dort kommen Assemblies hin die an mehreren orten gebraucht werden.

Um etwas ein bisschen genauer zu Definieren kannst du natürlich auch den using befehl brauchen:

Code: Alles auswählen

using System;
Oder du kannst auch im code mit dem Konstrukt auf sachen zugreifen. Da spielen dann die Namespaces auch noch eine Rolle.

Aber prinzipiell ist es so das alles was gebraucht wird im selben Verzeichniss liegen muss, solange es nicht im GAC ist.
Ob mono auch ein konstrukt wie PATH kennt weis ich ned.


gruss
manuel[/code]

Antworten