The other way to do this in LabVIEW is with LabVIEW Classes and dynamic methods. Granted, this is a very limited option in the overall scope of LabVIEW, but I though it would be worth mentioning. Here's how it goes.
If you have a child that inherits from a parent, then that child can call all the parent's methods. The connector pane for the parent method will usually have a parent object input and output. All other things being equal, if you wired a child up to the parent object input, you should still have a parent object output as defined by the subVI, but LabVIEW is smart enough to propogate the child type directly to the output. So you don't have to downcast when calling parent methods. Pretty cool stuff.
If that doesn't make any sense to you, you might consider reading up on LVOOP for fun. I'm not claiming this technology solves the problem you mentioned, but it's worth noting.
🙂
Jarrod S.
National Instruments