예제 #1
0
파일: BinderBase.cs 프로젝트: Aszan/Zenject
        public BindingConditionSetter ToProvider(ProviderBase provider)
        {
            _container.RegisterProvider(
                provider, new BindingId(_contractType, _bindIdentifier));

            if (_contractType.IsValueType())
            {
                var nullableType = typeof(Nullable<>).MakeGenericType(_contractType);

                // Also bind to nullable primitives
                // this is useful so that we can have optional primitive dependencies
                _container.RegisterProvider(
                    provider, new BindingId(nullableType, _bindIdentifier));
            }

            return new BindingConditionSetter(provider);
        }
예제 #2
0
 public BindingConditionSetter(ProviderBase provider)
 {
     _provider = provider;
 }
예제 #3
0
 public IdentifierSetter(ProviderBase provider)
 {
     _provider = provider;
 }
예제 #4
0
 public override BindingConditionSetter ToProvider(ProviderBase provider)
 {
     _owner.AddProvider(provider);
     return(base.ToProvider(provider));
 }
예제 #5
0
 void AddProvider(ProviderBase provider)
 {
     Assert.That(!_scopedProviders.Contains(provider));
     _scopedProviders.Add(provider);
 }
예제 #6
0
 public virtual BindingConditionSetter ToProvider(ProviderBase provider)
 {
     _container.RegisterProvider(provider, _contractType);
     return(new BindingConditionSetter(provider));
 }
예제 #7
0
파일: Binder.cs 프로젝트: hexgrimm/Zenject
 public virtual BindingConditionSetter ToProvider(ProviderBase provider)
 {
     _container.RegisterProvider(
         provider, new BindingId(_contractType, _bindIdentifier));
     return(new BindingConditionSetter(provider));
 }
예제 #8
0
 public virtual BindingConditionSetter ToProvider(ProviderBase provider)
 {
     _container.RegisterProvider(
         provider, new BindingId(_contractType, _bindIdentifier));
     return new BindingConditionSetter(provider);
 }