Use is to avoid an invalid cast

image_pdfimage_print

   

/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/


// Use is to avoid an invalid cast. 
 
using System; 
 
class A {} 
class B : A {} 
 
public class CheckCast { 
  public static void Main() { 
    A a = new A(); 
    B b = new B(); 
 
    // Check to see if a can be cast to B. 
    if(a is B)  // if so, do the cast 
      b = (B) a; 
    else // if not, skip the cast 
      b = null; 
 
    if(b==null)  
      Console.WriteLine("Cast b = (B) a is NOT allowed."); 
    else 
      Console.WriteLine("Cast b = (B) a is allowed"); 
  } 
}