public void Test() { var com = new MyComObject(); var proxy = RotRegFreeComInvoker.ProxyInterface <IMyComObject>(com); var casted = proxy is IMyComObject; var castedToUnkown = proxy is IUnknown; Assert.IsTrue(casted); }
private static void UsingReflection(object obj) { Console.WriteLine(MethodBase.GetCurrentMethod().Name); Console.WriteLine("---------------------------"); var path = Path.Combine(Environment.CurrentDirectory, @"RegFreeCom.Interfaces.dll.manifest"); var regFreeInvoker = RotRegFreeComInvoker.ProxyInterface <IRegFreeComRotClass>(obj); Console.WriteLine(regFreeInvoker.Answer()); var prop = regFreeInvoker.Info; Console.WriteLine(string.Format("{0}", prop)); NRegFreeCom.ActivationContext.UsingManifestDo(path, () => { object create = regFreeInvoker.Create(); var si2 = create as ISimpleObject; Console.WriteLine("si2 " + si2 ?? si2.Info); } ); Console.WriteLine("---------------------------"); }