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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T03:36:59+00:00 2026-06-10T03:36:59+00:00

I have a number of derived classes from a base class. The base class

  • 0

I have a number of derived classes from a base class.
The base class is FormItem and derived classes are for example, InputField, Label or Button.

In the FormItem class I have a number of virtual functions such as:

internal virtual void draw(parameters) {}

This function is overloaded in each derived class.

I store objects made from the derived classes in an array list called formItems.

When I make a call like this:

((FormItem)formItems[index]).draw(parameters)

I expect the overloaded function to be called since the function in the base class is virtual. Yet, the base class’s draw() method is called instead.

One rather ugly solution to this is to make a giant if statement such as this:

if (formItems[index] is Button)
  {
  ((Button)formItems[index]).draw(parameters);
  }
 else if (formItems[index] is Label)

etc…

However I’m hoping that there is a better solution that doesn’t need me to create this huge if-else block, but allows me to have the compiler interpret the item I’m looking at as an object of the derived class automatically and call the appropriate draw() method. Can anybody help me?

  • 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-06-10T03:37:01+00:00Added an answer on June 10, 2026 at 3:37 am
    internal virtual void draw(parameters) {}
    

    This function is overloaded in each derived class.

    I suspect that is literally true. To ensure you call the correct implementation automatically, it must be overridden in each derived class, i.e.

    class Button : FormItem {
        internal override void draw(parameters) { /* actual impl */ }
        ...
    }
    

    As long as you override, it should work fine.

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

Sidebar

Related Questions

I have a number of classes that derive from a pure virtal base: class
I have a base class called Component which has a number of classes derived
I have a program where I have multiple classes derived from a base class.
I have a couple of classes, all derived from the same base type. class
I have an abstract class CommandPath, and a number of derived classes as below:
Let say we have a base class and its two derived classes; The base
I have a base class Character which has several classes deriving from it. The
i have a base Question class and lot of classes that derives from this
I have abstract class A, from which I inherit a number of classes. In
In C#, I have a class hierarchy with a couple of abstract base classes

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.