コード例 #1
0
        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);
        }
コード例 #2
0
        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("---------------------------");
        }