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); }
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); }