JPEG aus Stream lesen und anzeigen



  • Ich hab nie bestritten, dass auch zur Laufzeit kompiliert wird...

    Egal, dann kommen wir halt zum Thema zurück:
    Das mit dem "hast du einen C#-Kompiler da" war ja nicht böse gemeint,
    ich hab halt gerade keinen da und ich wollte das du deine Aussage
    nochmal überprüfst. Also kann man ein namespace so aufteilen:

    namespace1.namespace2.namespace3.Klasse;
    in
    using namespace1.namespace2;
    ...
    namespace3.Klasse
    

    Das hast du ja behauptet.
    Ich habs selber nie ausprobiert, weiss aber das das laut meinem Buch
    nicht erlaubt ist.
    Wenn du also lust hast, dann probier es aus damit wir Klarheit haben.
    Sonst versuch ich es zuhause.

    Jockel



  • schrankwand schrieb:

    Das umwandeln von Quellcode also der C#-Dateien in .NET-Bytecode bezeichnet man allenfalls als Vorkompilieren.

    Ich will nicht wieder anfangen, aber das ist Quatsch!



  • So, ich habs jetzt extra für dich zum 7216. Mal ausprobiert und wer hätte es geahnt 😉 ...

    namespace Application
    {
    	class Class
    	{
    		static void Main()
    		{
    			System.Console.WriteLine("Hallo");
    		}
    	}
    }
    

    und

    using System;
    
    namespace Application
    {
    	class Class
    	{
    		static void Main()
    		{
    			Console.WriteLine("Hallo");
    		}
    	}
    }
    

    geben beide in einem Konsolenfenster das Wort "Hallo" aus ohne das Visual Studio eine Warnung ausgibt oder die Anwendung eine Exception wirft.



  • Gut, glaub ich dir mal 😉

    Nur zur Information, warum ich es gerne getestet haben wollte:
    In C# Kompendium, Markt+Technik steht halt (offenbar fälschlicherweise)
    drin, dass das nicht geht.

    Aber 7216 Gegenbeispiele widerlegen das ja wohl.

    Jockel



  • Das ist doch nicht das, was Jockelx gemeint hat, oder?
    Console ist eine Klasse und kein Namespace.

    namespace1.namespace2.namespace3.Klasse;
    in
    using namespace1.namespace2;
    ...
    namespace3.Klasse



  • Hast schon Recht
    Wollte schrankwand aber nicht enttäuschen, weil er sonst 7216 Beispiele
    umsonst eingetippt hätte. Ich probiers sowieso zuhause aus, es sei denn
    du sagst mir jetzt ob ich (bzw. mein Buch) doch Recht hatte.

    Jockel



  • Was Du meinst funktioniert nicht.



  • Hä? Das ist doch genau das was er meinte. Ich habe den Namespace System ins using gepackt damit ich ihn nicht explizit angeben muß. Vom Klassen ins using packen war nie die Rede.



  • schrankwand schrieb:

    Hä? Das ist doch genau das was er meinte. Ich habe den Namespace System ins using gepackt damit ich ihn nicht explizit angeben muß. Vom Klassen ins using packen war nie die Rede.

    Lies nochmal genau nach und überdenke Jockelx seine Frage.

    namespace1.namespace2.namespace3.Klasse;
    in
    using namespace1.namespace2;
    ...
    namespace3.Klasse

    Das musst Du doch verstehen, denn

    Rein zufällig bin ich nämlich Programmierer in einem Unternehmen wo in C# programmiert wird.

    😉



  • Ich hab jetzt nur namespace 2 und 3 weggelassen, da ich sonst keine vollständigen Beispielcode hätte in 12 Zeilen schreiben können. Aber man sollte doch schon vom normalen Menschenverstand ableiten können, das es auch funktioniert wenn man noch einen weiteren verschachtelten Namespace ins Using packt und noch einen dritten verschactelten Namespace explizit angibt.



  • Es war so gemeint.

    System.Drawing.Imaging.ImageFormat.Jpeg;
    // zerlegt in
    using System.Drawing;
    // und
    // (steht in einer Funktion)
    Imaging.ImageFormat.Jpeg; // das geht nicht!
    


  • Jo, Namespaces muß man immer mit vollständigen Pfad angeben. Ist mir aber eben auch entgangen, da ich sowieso immer alle verwendeten Namespaces ins using packe, kommt sowas bei mir eigentlich nie vor.



  • Ich hab jetzt nochmal rumprobiert und krieg es immer noch nicht zum Laufen. Ich hab keine Ahnung, was da noch falsch sein könnte ... Der erkennt die Methoden der Image-Klasse nicht. System.Drawing ist als Verweis drin und System.Drawing sowie System.Drawing.Imaging im using. Habt Ihr noch irgendwelche Vorschläge? Warum erkennt er das bei mir nicht?

    Vielen Dank!


Anmelden zum Antworten