コード例 #1
0
        /// <summary>
        /// TODO: Summary
        /// </summary>
        /// <param name="instance"></param>
        /// <returns></returns>
        public static MDynamicSupport Create(Object instance)
        {
            lock(locker)
            {
                if (invokerStrategy == null)
                {
                    String invokerStrategyName =
                        ConfigurationSettings.AppSettings[MConstants.INVOKER_STRATEGY_CONFIG_KEY];

                    if (invokerStrategyName == null || invokerStrategyName.Length == 0)
                    {
                        invokerStrategyName = typeof(Strategy.ReflectionInvokerStrategy).FullName;
                    }

                    Type invokerType = Type.GetType(invokerStrategyName);

                    invokerStrategy = (InvokerStrategy) AppDomain.CurrentDomain.CreateInstanceAndUnwrap(
                        invokerType.Assembly.FullName,
                        invokerType.FullName );
                }
            }

            return invokerStrategy.Create(instance);
        }
        /// <summary>
        /// TODO: Summary
        /// </summary>
        /// <param name="instance"></param>
        /// <returns></returns>
        public static MDynamicSupport Create(Object instance)
        {
            lock (locker)
            {
                if (invokerStrategy == null)
                {
                    String invokerStrategyName =
                        ConfigurationSettings.AppSettings[MConstants.INVOKER_STRATEGY_CONFIG_KEY];

                    if (invokerStrategyName == null || invokerStrategyName.Length == 0)
                    {
                        invokerStrategyName = typeof(Strategy.ReflectionInvokerStrategy).FullName;
                    }

                    Type invokerType = Type.GetType(invokerStrategyName);

                    invokerStrategy = (InvokerStrategy)AppDomain.CurrentDomain.CreateInstanceAndUnwrap(
                        invokerType.Assembly.FullName,
                        invokerType.FullName);
                }
            }

            return(invokerStrategy.Create(instance));
        }