コード例 #1
0
ファイル: AopCoder.cs プロジェクト: 2014AmethystCat/wojilu
        private static void createInterfaceProxy( StringBuilder sb, KeyValuePair<Type, ObservedType> kv, Type interfaceType ) {
            Type type = kv.Key;

            AopCoderDialect dialect = new AopCoderDialectInerface();

            append_ns_begin( sb, type );
            append_interface_class_begin( sb, type, dialect, interfaceType.FullName );

            append_methods( sb, kv, dialect );
            append_interface_methods_other( sb, kv, dialect, interfaceType );

            append_class_end( sb );
            append_ns_end( sb );
        }
コード例 #2
0
ファイル: AopCoder.cs プロジェクト: zuhuizou/wojilu
        private static void createInterfaceProxy(StringBuilder sb, KeyValuePair <Type, ObservedType> kv, Type interfaceType)
        {
            Type type = kv.Key;

            AopCoderDialect dialect = new AopCoderDialectInerface();

            append_ns_begin(sb, type);
            append_interface_class_begin(sb, type, dialect, interfaceType.FullName);

            append_methods(sb, kv, dialect);
            append_interface_methods_other(sb, kv, dialect, interfaceType);

            append_class_end(sb);
            append_ns_end(sb);
        }
コード例 #3
0
        internal static Object createProxyByInterface(Type targetType, Type interfaceType)
        {
            AopCoderDialect dialect = new AopCoderDialectInerface();

            String proxyName = strUtil.Join(targetType.Namespace, dialect.GetClassFullName(targetType, interfaceType.FullName), ".");

            Object interfaceProxy = _aopAssembly.CreateInstance(proxyName);

            if (interfaceProxy == null)
            {
                String exMsg = "cannot create interface proxy. target type=" + targetType.FullName + ", interface type=" + interfaceType + ", proxy=" + proxyName;
                logger.Error(exMsg);
                return(null);
            }

            rft.SetPropertyValue(interfaceProxy, dialect.GetInvokeTargetBase(), rft.GetInstance(targetType));

            return(interfaceProxy);
        }