Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Grund sowie Vor- und Nachteile von using Anweisungen innerhalb eines Namespaces
Caveman
myCSharp.de - Member

Avatar #avatar-3854.jpg


Dabei seit:
Beiträge: 140

Themenstarter:

Grund sowie Vor- und Nachteile von using Anweisungen innerhalb eines Namespaces

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
ErfinderDesRades
myCSharp.de - Experte

Avatar #avatar-3151.jpg


Dabei seit:
Beiträge: 5409

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3062
Herkunft: Thüringen

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
Ahrimaan
myCSharp.de - Member



Dabei seit:
Beiträge: 363
Herkunft: Thorn

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
mfe
myCSharp.de - Member



Dabei seit:
Beiträge: 183

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10083

beantworten | zitieren | melden

Wobei Copy/Paste Entwicklung eher suboptimal ist.
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3062
Herkunft: Thüringen

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10083

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
jogibear9988
myCSharp.de - Member



Dabei seit:
Beiträge: 589
Herkunft: Offenau

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers