Avatar billede microjet Nybegynder
17. september 2008 - 11:14 Der er 11 kommentarer og
1 løsning

punktum notation i namespace

Hejsa

Jeg er lidt ny i det her c#, men jeg har da fået lavet 3 DLL'er der spiller sammen, men jeg har lidt svært ved at forstå hvordan man opnår punktum notationen med mere end et "valg".

Eks:

Device1 = new drikkevare Device1

drikkevare.mælk.minimælk.1L
drikkevare.mælk.letmælk.025L
drikkevare.sodavand.cola.light.05L
drikkevare.sodavand.pepsi.normal.05L

Altså jeg vil gerne bruge punktum notationen til at lave et bedre brugerinterface hvor programøren let og enkelt bliver præsenteret for valgmulighederne, men jeg kan ikke finde ud af hvordan man så at sige får flere punktum'er eller valgmuligheder.

Jeg håber der er en der kan hjælpe mig med at komme lidt videre jeg er nemlig strandet lidt her, og har i nogle dage surfet rundt efter nogle eksempler, men ikke fundet noget brugbart

M.v.h

Tue
Avatar billede Syska Mester
17. september 2008 - 11:17 #1
Neasted ...
namespace FirstLevel
{
    namespace SecondLevel
    {
        public class MyClass
        {
        }
    }
}

Som også kan gøres således ...
namespace First.Second.Third
{
    public class MyClass
    {
    }
}
Avatar billede microjet Nybegynder
17. september 2008 - 14:43 #2
Tusind tak for tippet....MEN

Jeg forstår altså ikke helt hvordan jeg erklære et nested namespace, så punktum-notationen fremkommer.

Jeg har lavet en test-application og et namespace, men hvordan skal namespacet erklæres i applicationen før det virker?


**********først namespacet***********

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NestedNamespaceClassLibrary1
{
    public class TestClass1
    {
    }

    namespace NamespaceSodavand
    {

        namespace NamespaceLight
        {
            namespace NamespaceCola
            {
                namespace Namespace_05liter
                {

                }
                namespace Namespace_025liter
                {

                }
            }
            namespace NamespacePepsi
            {

            }
        }


        namespace NamespaceNormal
        {
            namespace NamespaceCola
            {
                namespace Namespace_05liter
                {

                }
                namespace Namespace_025liter
                {

                }
            }
            namespace NamespacePepsi
            {
                namespace Namespace_05liter
                {

                }
                namespace Namespace_025liter
                {

                }
            }
        }
 

    }



}



**********og her application'en med én knap**********

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using NestedNamespaceClassLibrary1;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}
Avatar billede microjet Nybegynder
17. september 2008 - 15:58 #3
Følgende kan godt finde ud af at få punktumnotationen til at virke inden for et namespace, men hvordan skal det erklæres hvis det skal virke i en application?
Avatar billede Syska Mester
17. september 2008 - 21:33 #4
Jeg kan ikke helt se forskellen ?

Om det er en klasse eller en applikation du laver, ændre jo intet på hvordan det hele virker.

Skal du have fat i en klasse i et namespace, skal du enten have en Using med i toppen til det namespace eller den fulde sti( altså namespace navnet incl klassen ) ...

// ouT
Avatar billede microjet Nybegynder
19. september 2008 - 11:03 #5
Nej det kan godt være der ikke er forskel, men kunne du så ikke fortælle mig hvorfor det namespace jeg har lavet ikke virker!

Hvis jeg skriver>>  NestedNamespaceClassLibrary1.

(fremkommer følgende mulighed)

TestClass1

Ingen namespaces!!!

Jeg kan altså kun se klasserne ikke namespaces... hvordan bliver de synlige i min applikation?
Avatar billede Syska Mester
19. september 2008 - 14:17 #6
Er det forskellige projekter ?

eller bare filer oprettet i samme projekt ?

mvh
Avatar billede microjet Nybegynder
19. september 2008 - 15:02 #7
Ja! Det er en application (et selvstændigt projekt) hvor jeg har tilføjet en DLL i references. DLL'en har jeg så lavet i et andet selvstændigt projekt.

Men mit problem er at jeg ikke kan tilgå de "nestede" namespaces. Jeg kan godt få adgang til dem inden for selve "namespace library'et" eller DLL'en. Jeg mangler at gøre et eller andet!
Avatar billede Syska Mester
19. september 2008 - 15:50 #8
Hvis du har tilføet DLL i reference eller tilføjet den som et projekt til din solution.

Så vil dine namespaces komme frem via intellisense når du i toppen skriver:
using namespacenoget.nogetandet.sidstelevel;

Husk på at du skal starte fra roden ... jeg kan ikke helt lige gennemskue hvad du gør galt, men det lyder som en mærkelig fejl.

Hvad sker der hvis du prøver at tilføje System.Web til din application ? Kan du så tilgå dens namespaces ?

mvh
Avatar billede microjet Nybegynder
19. september 2008 - 23:39 #9
Hmm. jeg har blot skrevet "using namespacenoget" ikke mere end det.... som du kan se i det eksempel jeg postede... men jeg mener bestemt jeg har prøvet det du beskriver uden held. Hvad gør man så hvis man har flere nested namespaces inden i hinanden... skal alle "stierne" så listes i using?
Avatar billede microjet Nybegynder
19. september 2008 - 23:44 #10
System.Web virker fint i min application!
Avatar billede microjet Nybegynder
20. september 2008 - 00:26 #11
Jeg tror faktisk jeg har fået det til at virke nu!... Ser du problemerne med alle dine eksempler og dem man kan finde på nettet, som kort illustrerer teknikken er at der ikke er både en dummy class og metode, hvis der ikke er det fremkommer namespacet ikke i punktum notationen

Så ovenstående eks som jeg havde postet virker først når der er en class og en metode

Du løste ikke mit problem, for jeg har bakset med dette i nogle dage nu, men du har hængt på og hjulpet mig på vej og det skal du ha tusind tak for.

Så der er 30 point hjemme hvis du poster et svar
Avatar billede Syska Mester
20. september 2008 - 13:53 #12
svar.

Nej, ikke løst, men tit hjælpen på vej hen hvor man skal er også en god hjælp som du selv skriver ...

Jeg var faktisk ikke klar over der skulle være en dummy class etc. for at det ville fremkomme ... måske fordi man er vandt til at arbejde med det at man ikke tænker over de ting :-)

men glad for at det er løst.

// ouT
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester