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 4101118
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T20:39:19+00:00 2026-05-20T20:39:19+00:00

I have problems with how to do this. I have two classes; ProductViewModel and

  • 0

I have problems with how to do this. I have two classes; ProductViewModel and ProductExtendedViewModel.

My scenario is basically that the ProductExtendedViewModel inherits the ProductViewModel and I want to cast ProductViewModel to ProductExtendedViewModel. How should I go about doing that?

This is what I have tried so far without success:

viewModelExtended = (ViewModelExtended) viewModel;

I get the tip that when casting a number the value must be a number less then infinity

I’m not that great at inherits and casting so this is all kinda new to me so please understand the kinda newbee question.

thanks

EDIT

public class ProductViewModel
{
    public string Name { get; set; }
    public Product Product { get; set; }
}

public class ProductExtendedViewModel : ProductViewModel
{
    public string ExtendedName { get; set; }
}

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
}
  • 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. Editorial Team
    Editorial Team
    2026-05-20T20:39:20+00:00Added an answer on May 20, 2026 at 8:39 pm

    Sadly, in c# you can’t cast from a Base Type to a Derived Type (“downcasting”), because you would be trying to generate information (i.e. what value should ExtendedName have?).

    Your best bet would be to do this through composition – create a constructor on ProductExtendedViewModel that takes a ProductViewModel:

    public class ProductExtendedViewModel : ProductViewModel
    {
        public ProductExtendedViewModel()
        {
        }
    
        public ProductExtendedViewModel(ProductViewModel viewModel)
        {
            Name = viewModel.Name;
            Product = viewModel.Product;
        }
    
        public string ExtendedName { get; set; }
    }
    

    Which you could then call:

    var productModel = new ProductViewModel {Name = product.Name, Product = product};
    
    var derived = new ProductExtendedViewModel(productModel);
    

    Note that you can still cast the Derived type back to it’s base type, as this involves a loss of information:

    var basetype = (ProductViewModel)derived;
    

    I believe that the “Troubleshooting tip” of “When casting from a number […]” is a red herring in this case, and is just a help around casting in general.

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

Sidebar

Related Questions

I Have two problem in this Case : I want to pass a JSON
Just like the title says I am having problems combining two classes. Altough this
Imagine that I have two classes (shown below). Now imagine that I am compiling
I have two java classes. Schedule is the main class that uses an array
I have had this problem w/ two seperate WYSWYG editors in my rails application
My problem is this: I have two threads, my UI thread, and a worker
I have this little problem. My client wanted two distinct swf on a web
I have a problem with IE causing two errors: 1. Object doesn't support this
In this problem, I have three (identically-structured) lists. Two have all numbers and the
So i'm having this problem. I have two tables (Oracle), one is called Destination

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.