コード例 #1
0
        public void LocatorTest1()
        {
            SimpleContainer           c = new SimpleContainer();
            ContainerProviderDelegate containerProvider = () => c;

            ServiceLocator.SetContainerProvider(containerProvider);
            SimpleContainer c2 = ServiceLocator.Current.GetInstance <SimpleContainer>();

            Assert.AreSame(c, c2);
        }
コード例 #2
0
 public static void SetContainerProvider(
     ContainerProviderDelegate ContainerProvider)
 {
     lock (_lock)
     {
         if (_instance == null)
         {
             _instance = new ServiceLocator();
         }
         _instance._provider = ContainerProvider;
     }
 }
コード例 #3
0
        public void LocatorTest2()
        {
            SimpleContainer           c = new SimpleContainer();
            ContainerProviderDelegate containerProvider = () => c;

            ServiceLocator.SetContainerProvider(containerProvider);
            SimpleContainer c2 = ServiceLocator.Current.GetInstance <SimpleContainer>();
            Z obj = new Z();

            c.RegisterInstance <Z>(obj);
            Z obj2 = ServiceLocator.Current.GetInstance <Z>();

            Assert.AreSame(obj, obj2);
        }
コード例 #4
0
 public static void SetContainerProvider(ContainerProviderDelegate ContainerProvider)
 {
     _provider = ContainerProvider;
 }
コード例 #5
0
 public static void SetContainerProvider(ContainerProviderDelegate ContainerProvider)
 {
     container = ContainerProvider();
     container.RegisterInstance <SimpleContainer>(container);
 }