Design issue: Struct vs. Class

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Pohihihi

    #1

    Design issue: Struct vs. Class

    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
  • Nicholas Paldino [.NET/C# MVP]

    #2
    Re: Design issue: Struct vs. Class

    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]
    - mvp@spam.guard. caspershouse.co m

    "Pohihihi" <noemail@hotmai l.com> wrote in message
    news:%23xHIs%23 NCGHA.2908@TK2M SFTNGP09.phx.gb l...
    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


    Comment

    • Pohihihi

      #3
      Re: Design issue: Struct vs. Class

      Thank you Nicholas, that helps.


      "Nicholas Paldino [.NET/C# MVP]" <mvp@spam.guard .caspershouse.c om> wrote in
      message news:umbu4meCGH A.1144@TK2MSFTN GP12.phx.gbl...[color=blue]
      > 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]
      > - mvp@spam.guard. caspershouse.co m
      >
      > "Pohihihi" <noemail@hotmai l.com> wrote in message
      > news:%23xHIs%23 NCGHA.2908@TK2M SFTNGP09.phx.gb l...
      > 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
      >[/color]


      Comment

      Working...