AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Namespaceweite Konstanten

Ein Thema von CalganX · begonnen am 28. Aug 2005 · letzter Beitrag vom 29. Aug 2005
Antwort Antwort
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:11
Hi,
gibt es in C# eine Möglichkeit Konstanten zu definieren, die im ganzen Namespace ihre Gültigkeit haben?
Die einfache Variante
Code:
namespace bla { const blubb = "moep"; }
funktioniert leider nicht.

Chris
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:20
Das wäre nicht rein OOP Also nicht möglich. C#2 untersützt aber namespaceloses Zeug, also namespace {} (mehr code) (glaub ich wars), aber das is imho auch nicht das wahre.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:26
Hi,
wie soll ich dann Strings, die ich mehrmals verwende speichern?
In diesem Fall ist jetzt zum Beispiel das Standard-XML-Konstrukt, das erzeugt werden soll, wenn meine XML-Datei vom Programm erzeugt wird. Das ist ein String, der in jeder Klasse, die ich verwende gleich sein muss. Ansonsten knallt's.

Sag mir jetzt nicht, dass es das Wahre ist, wenn ich jetzt diesen String in jeder Klasse hardcode...

Chris

PS: Es ist btw C#2
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:28
Geh doch einfach in den Namespace, der über allem steht und deklarier ne Klasse "GlobalConstants" mit einem public static string ^^
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:30
In einem namespace können in .net nur typen definiert werden.
Also Klassen, structs, delegates und enums.
Du könntest die Konstante also an die Klasse hängen, mit der sie benutzt wird.
Aber wann braucht man schon öffentliche string Konstanten?
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:30
Dann erstell dir doch eine Singleton-Klasse, die beim Programmstart die Einstellungen in eine NamedValueCollection lädt. Dann überlade den []-Operator und somit kommst du an die Werte ran. Das wars

André
André
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Namespaceweite Konstanten

  Alt 28. Aug 2005, 23:55
Zitat von Chakotay1308:
Hi,
gibt es in C# eine Möglichkeit Konstanten zu definieren, die im ganzen Namespace ihre Gültigkeit haben?
Die einfache Variante
Code:
namespace bla { const blubb = "moep"; }
funktioniert leider nicht.

Chris
Müsste eigentlich funktionieren, allerdings so:
Code:
const string Blubb = "moep";
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Namespaceweite Konstanten

  Alt 29. Aug 2005, 00:09
Zitat von Speedmaster:
Müsste eigentlich funktionieren, allerdings so:
Code:
const string Blubb = "moep";
Nope, keine globalen Konstanteb in .Net.
Aber nochmal: Brauchst du wirklich eine öffentliche string-Konstante?
Reicht es nicht sie als private const in deiner Basisklasse zu definieren? Müssen die Ableitungen denn wirklich den Inhalt wissen?
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Namespaceweite Konstanten

  Alt 29. Aug 2005, 15:59
Hi,
eigentlich war es so, dass es mehrere Klassen gab, die voneinander unabhängig wären und dann den gleichen String verwenden würden, aber ich habe gerade entschieden, dass es da noch eine wesentlich elegantere Lösung über Klassen gibt, als dass mehrmals den Source zu wiederholen.

Aber gut, da ich nun weiß, dass es keine Klassenunabhängigen und Namespaceweiten Konstanten gibt, ist die Frage geklärt.

Danke,
Chris
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz