Solved

Little enum question

Posted on 2004-09-15
6
298 Views
Last Modified: 2010-04-15
Hi Experts,

I have an enum like this:

public enum myEnum
{
Category1Sub1 ,Category1Sub2 , Category1Sub3 , Category2Sub8 , Category2Sub24 ...
}

so I get my enum item like this: myEnum.Category1Sub1 , myEnum.Category1Sub2 , myEnum.Category2Sub8 ...

I want an enum to get enum like this: myEnum.Category1.Sub1 , myEnum.Category1.Sub2 , myEnum.Category2.Sub8 ...

Is it possible to do ?
Thanks in advance for your answers.
0
Comment
Question by:noulouk
6 Comments
 
LVL 10

Accepted Solution

by:
smegghead earned 250 total points
ID: 12069875
What you could do is create a class which contains all your sub-enums, then you could reference them like you say above.

public class MyEnum
{
    public enum Category1 {Sub1,Sub2}
    public enum Category2 {Sub1,Sub2}
}

Hope this points you in the right direction.

Smg.
0
 
LVL 5

Assisted Solution

by:tomasX2
tomasX2 earned 150 total points
ID: 12070088
A very similar solution would be to create a namespace instead of a class

namespace myProject
{
      namespace myEnum
      {
            public enum Category1{Sub1,Sub2}
            public enum Category2{Sub1,Sub2}
      }
}
0
 
LVL 5

Assisted Solution

by:Kelmen
Kelmen earned 100 total points
ID: 12072744
Don't its possible enum.enum.

However, you can try struct.enum

struct Sample
{
MyEnum Category
...
}

Why you wanna use enum.enum? Maybe telling us about your requirement, there will be a better approach on that.
0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 
LVL 9

Author Comment

by:noulouk
ID: 12073302
Thanks, I think create namespaces is the best way, but I have troubles with nested namespaces.

I created a file class. Here is the code:
using System;
using System.Data;
using System.Web;
using System.ComponentModel;

namespace myNamespace.Category1
{

    namespace SubCategory1
                public class classinsub1
    {
    // code
    }
}

In my webapp, I define using namespaces like this:
using myNamespace.Category1;
The problem is that I can't reach SubCategory1 namespace: I must declare Category1.SubCategory1 .
I just want to use this SubCategory1.myfunction() instead of Category1.SubCategory1.myfunction() .

Hope you could help me.
0
 
LVL 9

Author Comment

by:noulouk
ID: 12073315
Sorry replace myfunction() by classinsub1
0
 
LVL 10

Expert Comment

by:smegghead
ID: 12073362
Then use classes rather that namespaces, or declare the namespace outside of your application's name space (myNamespace)

Smg.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question