Ejemplo n.º 1
0
        public void ActivateStandardTypeParameters()
        {
            var activator = new DynamicActivator(typeof(ActivationClass), typeof(int), typeof(int), typeof(string));
            var instance  = activator.Activate(1, 2, "Hello World") as ActivationClass;

            Assert.NotNull(instance);
            Assert.Equal(1, instance.Constructor);
        }
Ejemplo n.º 2
0
        public void ActivateParameterLess()
        {
            var activator = new DynamicActivator(typeof(ActivationClass));
            var instance  = activator.Activate() as ActivationClass;

            Assert.NotNull(instance);
            Assert.Equal(0, instance.Constructor);
        }
Ejemplo n.º 3
0
        public IGraphTraveller GetInstance(IVisitArgsFactory factory)
        {
            if (_isConstructing)
            {
                throw new InvalidOperationException("The type is still being constructed");
            }

            return((IGraphTraveller)_activator.Activate(factory));
        }
Ejemplo n.º 4
0
        public TInstance GetInstance()
        {
            var conParams = _conParamFactories
                            .Select(f => f.GetInstance())
                            .ToArray();

            var instance = (TInstance)_activator.Activate(conParams);

            if (_propertySetter != null)
            {
                var propParams = _propParamFactories
                                 .Select(f => f.GetInstance())
                                 .ToArray();
                _propertySetter.Invoke(instance, propParams);
            }
            return(instance);
        }