コード例 #1
0
 private Task UnregisterSomething()
 {
     return(Task.Run(() =>
     {
         var actual = _target.Unregister <IBar>();
         try
         {
             _target.Register <IBar>(ioc => new SimpleBar());
         }
         catch
         {
             // already registered is fine to throw exception
         }
     }));
 }
コード例 #2
0
 public static void Register <T, C>() where C : T, new()
 {
     if (!_instance.CanResolve <T>())
     {
         _instance.Register <T>(ins => new C());
     }
 }
コード例 #3
0
 private Task UnregisterSomething()
 {
     return(Task.Run(() =>
     {
         var actual = _target.Unregister <IBar>();
         Debug.WriteLine(Thread.CurrentThread.ManagedThreadId + " Unregistered: " + actual);
         try
         {
             _target.Register <IBar>(ioc => new SimpleBar());
             Debug.WriteLine(Thread.CurrentThread.ManagedThreadId + " Re-registered.");
         }
         catch
         {
             Debug.WriteLine(Thread.CurrentThread.ManagedThreadId + " Already re-registered.");
         }
     }));
 }
コード例 #4
0
ファイル: IoCTests.cs プロジェクト: kouweizhong/PortableIoC
        public void GivenTypeNotRegisteredWhenRegisteredWithNullThenShouldThrowArgumentNullException()
        {
            var expected = false;

            try
            {
                _target.Register <IBar>(null);
            }
            catch (ArgumentNullException)
            {
                expected = true;
            }
            Assert.IsTrue(expected, "Test failed: container did not throw argument null exception for empty registration.");
        }
コード例 #5
0
ファイル: IoCTests.cs プロジェクト: Dynalon/PortableIoC
 public void GivenTypeNotRegisteredWhenRegisteredWithNullThenShouldThrowArgumentNullException()
 {
     _target.Register <IBar>(null);
 }