title: Cast a class object to an interface object using reflection C#
body: <p>There have two dll's namely 
          a) lib1
          b) lib2 
          These two library are loaded using reflection( as against to adding a direct reference in visual studio). I'm creating an object of a class , then want to type cast that object to the type of the interface (interface being in the dll loaded in the main program). I get an error saying type mismatch. Any possible solution to this problem.</p>
  
  <p>Here is my code block: </p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Reflection;
  
  namespace Interfaceconversion
  {
      class Program
      {
          public static object classobj;
          public static object interfaceobj;
          static void Main(string[] args)
          {
  
              // Loading assembley 1
              Assembly assembly1 = Assembly.LoadFrom(@"D:\WCFService\Aug9\Interfaceconversion\Lib1\bin\Debug\Lib1.dll");
              Type[] type1 = assembly1.GetTypes();          
              foreach (Type item in type1)
              {
                  if (item.FullName.ToString() == "Lib1.Class1")
                  {
                      classobj = Activator.CreateInstance(item);
  
                  }
              }
  
              // Loading assembly 2
              Assembly assembly2 = Assembly.LoadFrom(@"D:\WCFService\Aug9\Interfaceconversion\Lib2\bin\Debug\Lib2.dll");
              Type[] type2 = assembly2.GetTypes();
              Type libtype = type2[1];
  
              foreach (Type item in type2)
              {
  
                  if (item.FullName.ToString() == "Lib2.Ilib2Interface1")
                  {
  
              TODO: cast the object "classobj " to type  Lib2.Ilib2Interface1   
                      interfaceobj = classobj as item ;
                  }
              }
              #region old code
          }
      }
  </code></pre>
  
  <p>Lib2 dll's code is :
  lib2 </p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  namespace Lib2
  {        
      interface Ilib2Interface1
      {
          void lib2disp1();
      }
  }
  </code></pre>
  
  <p>Lib1 code is : </p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  
  namespace Lib1
  {        
      interface ISttutil
      {
          void displayutil1();
          void displayutil2();
      }
  
      interface Isttinterface
      {
          void displayinterface1();
          void displayinterface2();
      }
  }
  </code></pre>