Click here to Skip to main content
12,400,556 members (59,128 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C++ C# Managed CLR
hi guys.

i have a CLR project and a c++ managed class.
i need to mimic the behavior of the "is" keyword from c# but i dont know how to do it in managed code.

part of my code:
1.C# code:
public class emailMsg : Msg
{
    string email;
}
2.C++ manged code
Msg^ msg = gcnew Msg();
if (msg is emailMsg)
{
    //DO SOMETHING
}

the above if sentence is not compiling since managed code dont recognize the "is" keyword.
how can i solve it?
Posted 7-Nov-11 22:00pm

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

dynamic_cast<T^>(expression)

The C# 'is' operator is nothing more than an 'as' cast followed by a check for null, which is exactly the same thing you get by using dynamic_cast in C++ followed by a check for nullptr.
  Permalink  
Comments
Mehdi Gholam 8-Nov-11 4:08am
   
5'ed
amir.dar 8-Nov-11 4:51am
   
10x. I'll try this

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web01 | 2.8.160721.1 | Last Updated 8 Nov 2011
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100