Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 128533
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T05:39:02+00:00 2026-05-11T05:39:02+00:00

I have a bunch of code that has lots integers with different meanings (I’d

  • 0

I have a bunch of code that has lots integers with different meanings (I’d rather a general solution but for a specific example: day-of-the-month vs. month-of-the-year vs. year etc.). I want to be able to overload a class constructor based on these meanings.

For example

int a; // takes role A int b; // takes role B  var A = new Foo(a);  // should call one constructor var B = new Foo(b);  // should call another constructor 

Now clearly that won’t work but if I could define a type (not just an alias) that is an int in all but name like this:

typedef int TypeA;  // stealing the C syntax typedef int TypeB; 

I could do the overloading I need and let the type system keep track of what things are what. In particular this would allow me to be sure that values are not mixed up, for example a value returned from a function as a year is not used as a day-of-the-month.

Is there any way short of class or struct wrappers to do this in c#?


It would be nice if the solution would also work for floats and doubles.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T05:39:03+00:00Added an answer on May 11, 2026 at 5:39 am

    There is no direct typedef equivalent, but you can do the following:

    using TypeA = int; using TypeB = int; 

    However, this just aliases the type rather than creating a new strong type. Therefore, the compiler will still treat them as an int when resolving method calls.

    A better solution might be to create simple wrapper classes that wraps int and provides implicit casting, such as:

    struct TypeA {    public TypeA(int value)    {       this.realValue = value;    }     private int realValue;    public static implicit operator int(TypeA value)    {      return this.realValue;    }     public static implicit operator TypeA(int value)    {      return new TypeA(value);    } } 

    However, in most situations, an enum would be more appropriate.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a page that has a bunch of different iframes (A, B, C,
I have a bunch of generic code that is used a lot, which i'd
I have a bunch of PHP code that is auto-generated and it puts all
I have a bunch of Workflow foundation 4.0 RC code activities that consume web
I have code that loads a bunch of images into hidden img elements and
I have some code that creates a bunch of UITextViews and puts them into
I have a .net assembly that contains data access code (a bunch of Typed
I have a git repo with a bunch of source code, and when that
I have a bunch of code of the form: someVector.push_back(Foo(some name, 1.0, 3.1415926); someVector.push_back(Foo(different
I have a bunch of VBA code that I'd like to throw in a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.