コード例 #1
0
        public IWithBehavior WithBehavior <TSetupObject>(Action <TSetupObject> setup) where TSetupObject : IBehavior, new()
        {
            var behavior = new TSetupObject();

            behavior.BindTo(m_record);

            setup(behavior);

            m_record.AddBehavior(behavior);

            return(this);
        }
コード例 #2
0
        public IInstanceImport Existing(object instance)
        {
            if (instance == null)
            {
                throw new ArgumentException(nameof(instance));
            }

            Func <IServiceLocator, object> factory = sl => instance;

            m_record.ConstructorParameters = null;
            m_record.ImplementingType      = instance.GetType();
            m_record.Factory = new NamedFactory(factory);
            m_record.AddBehavior(new DisposeBehavior()
            {
                Dispose = false
            });

            return(this);
        }