示例#1
0
        public Object GetDelegate(DelegationImpl delegationImpl)
        {
            Object       delegateClass = null;
            IClassLoader classLoader   = null;

            try
            {
                classLoader   = (IClassLoader)ServiceLocator.Instance.GetService(typeof(IClassLoader));
                delegateClass = classLoader.CreateObject(delegationImpl);
            }
            finally
            {
                ServiceLocator.Instance.Release(classLoader);
            }
            // configure class
            if (delegateClass is IConfigurable)
            {
                IConfigurable configurable = (IConfigurable)delegateClass;
                IDictionary   parameters   = ParseConfiguration(delegationImpl);
                configurable.SetConfiguration(parameters);
            }
            return(delegateClass);
        }