Casting between classes that share the same interface

Posted by Chad on Stack Overflow See other posts from Stack Overflow or by Chad
Published on 2010-04-15T19:21:32Z Indexed on 2010/04/15 19:23 UTC
Read the original article Hit count: 288

Filed under:
|
|

I have two interfaces IHeaderRow, and IDetailRow

I then have an object that implements both RawRow:IHeaderRow, IDetailRow

I then need to cast it to HeaderRow which implements IHeaderRow.

But when I try, it ends up being null or giving an exception.

I can cast ObjectRawRow to either interface IHeaderRow, or IDetailRow

var ObjectIHeaderRow = ObjectRawRow as IHeaderRow;
var ObjectIDetailRow = ObjectRawRow as IDetailRow;

But I can not cast ObjectRawRow to HeaderRow , or ObjectIHeaderRow to HeaderRow.

It throws the error Cannot convert source type 'IA' to target type 'A'

I need to cast it into the actual class HeaderRow.

Thoughts?

© Stack Overflow or respective owner

Related posts about cast

Related posts about interfaces