Exemplo n.º 1
0
        public Type BuildRuntimeProxy(CilProgram program)
        {
            var parentClass = this;

            while (!program.IsExternalType(parentClass.ExtendsName))
            {
                parentClass = parentClass.Extends;
            }

            var extClass = ReflectionHelper.GetExternalType(parentClass.ExtendsName);

            if (!extClass.IsAbstract)
            {
                return(extClass);
            }

            var extProxy = RuntimeTypeBuilder.RegisterProxy(parentClass.ExtendsName);

            return(extProxy);
        }