Namensraum ablegen und woanderes drauf zugreifen können...

viossi

Grünschnabel
Struktur in einen anderen Namensraum ablegen unddrauf zugreifen können... HILFE

Hi liebe Member...

Ich will meine Struktur in einen einegenen Namensraum ablegen!
Ich hasse ds so ich kann das nie alleine! Hilfe


Code:
using System;
using System.Collections.Generic;
using System.Text;

namespace Übung4_2
{

// Gute Seite mit Infos über C#:  http://www.c-sharpcorner.com

enum Adresstyp { Heim1, Heim2, Buero }


// die einzelnen Elemente der Adresse müssen public sein.
struct Adresse
{
    public string Strasse;
    public int Hausnummer;
    public Adresstyp typDerAdresse;
}
Die Struktur will ich in einen eigenen namenspace ablegen und woanderes drauf zugreifen können....

class MyClient
{
    public static void Main()
    {
        // Instanziieren einer Struct ist ebenfalls per new zu erledigen
        // Ausnahme wäre, wenn alle Struct Elemente als static deklariert sind.
        Adresse meineAdresse = new Adresse();


        System.Console.Write("Adresstyp (genau so eingeben) Heim1, Heim2, Buero : ");
        string addrTyp = System.Console.ReadLine();

        // Konvertiert eine Zeichenkette in den angegebenen Enum Typ
        // Falls nicht konvertiert werden kann, wird eine Ausnahme ausgelöst
        // Im Normalfall muß ich die Konvertierung durch einem try..catch Block absichern!
        meineAdresse.typDerAdresse = (Adresstyp)Enum.Parse(typeof(Adresstyp), addrTyp);


        // Beispiel für Zugrtiff auf Variable mit Enum-Wert:
        // Anhand des Adresstyps unterschiedliche Aktionen auszuführen. 
        switch (meineAdresse.typDerAdresse)
        {
            case Adresstyp.Buero:
                System.Console.Write("Büroanschrift: ");
                break;
            default:
                System.Console.Write("Strasse: ");
                break;
        }

        meineAdresse.Strasse = System.Console.ReadLine();


        System.Console.Write("Hausnummer: ");
        meineAdresse.Hausnummer = System.Convert.ToInt32(System.Console.ReadLine());


        Console.WriteLine(
            "Die eingegebenen Adressdaten:\n{0} {1}\nTyp = {2}",
            meineAdresse.Strasse,
            meineAdresse.Hausnummer,
            meineAdresse.typDerAdresse
        );

        System.Console.ReadLine();



    }
}
    }
 
Zuletzt bearbeitet:
Ich muss sagen, ich verstehe dein Problem nicht...

Code:
using System;
using System.Collections.Generic;
using System.Text;

namespace Neu
{
    enum Adresstyp { Heim1, Heim2, Buero }

    struct Adresse
    {
        public string Strasse;
        public int Hausnummer;
        public Adresstyp typDerAdresse;
    }
}

namespace Übung4_2
{
    class MyClient
    {
        public static void Main()
        {
            Neu.Adresse meineAdresse = new Neu.Adresse();

            System.Console.Write("Adresstyp (genau so eingeben) Heim1, Heim2, Buero : ");
            string addrTyp = System.Console.ReadLine();

            meineAdresse.typDerAdresse = (Neu.Adresstyp)Enum.Parse(typeof(Neu.Adresstyp), addrTyp);

            switch (meineAdresse.typDerAdresse)
            {
                case Neu.Adresstyp.Buero:
                    System.Console.Write("Büroanschrift: ");
                    break;
                default:
                    System.Console.Write("Strasse: ");
                    break;
            }

            meineAdresse.Strasse = System.Console.ReadLine();

            System.Console.Write("Hausnummer: ");
            meineAdresse.Hausnummer = System.Convert.ToInt32(System.Console.ReadLine());

            Console.WriteLine(
                "Die eingegebenen Adressdaten:\n{0} {1}\nTyp = {2}",
                meineAdresse.Strasse,
                meineAdresse.Hausnummer,
                meineAdresse.typDerAdresse
            );

            System.Console.ReadLine();
        }
    }
}

Alternativ könntest du auch einfach ein "using Neu;" ganz oben einbauen... dann könntest du dir das Davorschreiben des Namespaces ("Neu.Adresse") jedesmal sparen.
 
hi markus, ich will die Struktur Adresse die ich deklariert habe in einen eigenen Namenspace verlagern!
 
Habe die mein problem gelöst Dake trotzdem

Code:
using System;
using System.Collections.Generic;
using System.Text;
using sepp;

namenspace sepp
{
// Gute Seite mit Infos über C#:  http://www.c-sharpcorner.com

enum Adresstyp { Heim1, Heim2, Buero }


// die einzelnen Elemente der Adresse müssen public sein.
struct Adresse
{
    public string Strasse;
    public int Hausnummer;
    public Adresstyp typDerAdresse;
}
}
namespace Übung4_2
{

class MyClient
{
    public static void Main()
    {
        // Instanziieren einer Struct ist ebenfalls per new zu erledigen
        // Ausnahme wäre, wenn alle Struct Elemente als static deklariert sind.
        Adresse meineAdresse = new Adresse();


        System.Console.Write("Adresstyp (genau so eingeben) Heim1, Heim2, Buero : ");
        string addrTyp = System.Console.ReadLine();

        // Konvertiert eine Zeichenkette in den angegebenen Enum Typ
        // Falls nicht konvertiert werden kann, wird eine Ausnahme ausgelöst
        // Im Normalfall muß ich die Konvertierung durch einem try..catch Block absichern!
        meineAdresse.typDerAdresse = (Adresstyp)Enum.Parse(typeof(Adresstyp), addrTyp);


        // Beispiel für Zugrtiff auf Variable mit Enum-Wert:
        // Anhand des Adresstyps unterschiedliche Aktionen auszuführen. 
        switch (meineAdresse.typDerAdresse)
        {
            case Adresstyp.Buero:
                System.Console.Write("Büroanschrift: ");
                break;
            default:
                System.Console.Write("Strasse: ");
                break;
        }

        meineAdresse.Strasse = System.Console.ReadLine();


        System.Console.Write("Hausnummer: ");
        meineAdresse.Hausnummer = System.Convert.ToInt32(System.Console.ReadLine());


        Console.WriteLine(
            "Die eingegebenen Adressdaten:\n{0} {1}\nTyp = {2}",
            meineAdresse.Strasse,
            meineAdresse.Hausnummer,
            meineAdresse.typDerAdresse
        );

        System.Console.ReadLine();

    }
}
    
    }
 
Zurück