troubleshooting Question

Why can't I cast a base class into the derived class

Avatar of sethspearman
sethspearman asked on
.NET ProgrammingVisual Basic.NETEditors IDEs
9 Comments1 Solution2508 ViewsLast Modified:
I have a base class called MeetingBase that is declared like this:
Public MustInherit Class MeetingBase(Of T As MeetingBase(Of T))

I have a derived class that is declared like this:
    Public Class Meeting
         Inherits MeetingBase(Of Meeting)

In the BASE class I have this code
Protected Sub MyMethod
   'Do SomethingElse expects a Meeting object.  So why can't I do this:
   DoSomethingElse(CType(Me,T))
End Sub

It won't even compile and is showing "Value of Type 'T' cannot be converted to 'namespace...meeting'"

So I tried this:
DoSomethingElse(CType(Me,Meeting))

This gives similar error as follows:
"Value of Type 'namespace...meetingBase(Of T)' cannot be converted to 'namespace...meeting'"

I thought you can always cast a base class to the derived class.  So why this message?

The namespaces are the same.

Seth B Spearman
ASKER CERTIFIED SOLUTION
Arthur_Wood

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 9 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 9 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros