Design issue: Struct vs. Class

P

Pohihihi

After reading the thread "Struct faster than class?" I thought I should surely understand if I am doing anything wrong in my work.

First, Jon you are very professional. Excellent. I will wish you as my mentor.

Anyways, getting to my question --

I am in need of enums a lot in my project. More for meta data reasons. e.g. Toggle -on/off, Close/Open etc.
Most are int type values but this one meta data is full of Guid. Now that enum supports int etc and not string or Guid so I endup making it a Struct. No perticular reason, just to make it look different while programming (as there are tons of classes to keep track of). Anyways, I am not sure if this approch is better (or even ok). Not being familier with memory management etc (and will love to get pointers to read more on this also) I am not sure how things are handled run time if it is changed to static Class type. I have so many questions on this topic alone so please feel free to throw anything on this side.

Thanks,
Po
 
N

Nicholas Paldino [.NET/C# MVP]

Pohihihi,

In this case, it is better to use a class. In actuality, it doesn't
really matter, because you will be accessing static
fields/methods/properties on the type, which doesn't have anything to do
with whether or not it is a reference type or a structure.

The reason it is better to use a class is that in C# 2.0, you can create
a static class, which will help enforce your design in this situation.
Since you are trying to duplicate enumerations, you will have to create
static read-only fields on your type, and the static keyword will help you
make sure you do that.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

After reading the thread "Struct faster than class?" I thought I should
surely understand if I am doing anything wrong in my work.

First, Jon you are very professional. Excellent. I will wish you as my
mentor.

Anyways, getting to my question --

I am in need of enums a lot in my project. More for meta data reasons. e.g.
Toggle -on/off, Close/Open etc.
Most are int type values but this one meta data is full of Guid. Now that
enum supports int etc and not string or Guid so I endup making it a Struct.
No perticular reason, just to make it look different while programming (as
there are tons of classes to keep track of). Anyways, I am not sure if this
approch is better (or even ok). Not being familier with memory management
etc (and will love to get pointers to read more on this also) I am not sure
how things are handled run time if it is changed to static Class type. I
have so many questions on this topic alone so please feel free to throw
anything on this side.

Thanks,
Po
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top