Hallo zusammen.
In letzter Zeit sehe ich immer häufiger in Fremdcode, dass die using-Anweisungen innerhalb des Namespaces programmiert werden.
Beispiel:
namespace blablubb
{
using System;
using ...
...
}
Warum macht man das so? Welche Vor- und Nachteile sind damit verbunden?
Ich konnte mich jetzt über Google nicht aufschlauen.
ich keine Ahnung. Ist glaub egal.
Theoretisch kannst du mit usings im Namespace in derselben Datei mehrere Namespaces unterhalten, und jeder mit eigenen usings.
Keine Ahnung, ob das jemals Sinn macht, aber möglich ist das offsichtlich.
Der frühe Apfel fängt den Wurm.
U.a. ist das eine der Standardeinstellungen von Resharper, die ich sofort nach Installation wieder abstelle. Theoretisch kann das using außerhalb des Namespaces für Schwierigkeiten sorgen (http://stackoverflow.com/questions/125319/should-using-statements-be-inside-or-outside-the-namespace), aber ich halte das für ziemlich konstruiert.
Also, ja, es macht einen Unterschied, aber nein, er ist nicht groß, und es läuft auf Geschmackssache hinaus.
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Diese Glaubensfrage ist bei uns auch aufgetreten und wir haben auch diverse test gemacht im Unternehmen.
Wir halten uns einfach an den ReSharper, da es dann mit einem Header hübscher aussieht 😉
Also für uns reine Kosmetik.
Grüße
Vorteil Copy/Paste
Angenommen du willst eine Klasse, aber nicht den namespace, kopieren, dann muss man die usings (im neuen Projekt) manuel hinzufügen. Hat man hingegen die usings innerhalb vom namespaces kann man diese einfach mit kopieren.
Ja, aber üblich 😉. Schätze so 20% der Fehler hier im Unternehmen sind copy&paste.
LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
Ja, kenne ich noch aus der zeit als ich "durch die Lande" fuhr und SW von VB6/Delphi/C++/usw nach dotnet portiert habe.
OOP per Copy&Paste war gang und gebe, und 20% wäre da noch geschönt.
Eine Zeit lang hielt sich das Gerücht das dadurch Asemblys Lazy geladen werden: https://blogs.msdn.microsoft.com/abhinaba/2008/07/08/do-namespace-using-directives-affect-assembly-loading/ ist aber nicht wahr! Man kanns einfach machen wie mans schöner findet!
cSharp Projekte : https://github.com/jogibear9988