当前位置: 首页>>代码示例>>C#>>正文


C# Registry.Register方法代码示例

本文整理汇总了C#中Registry.Register方法的典型用法代码示例。如果您正苦于以下问题:C# Registry.Register方法的具体用法?C# Registry.Register怎么用?C# Registry.Register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Registry的用法示例。


在下文中一共展示了Registry.Register方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ControllerInfo

      public ControllerInfo(Type type)
      { 
        string aname = null;
        try
        {
          Type = type; 
          m_Name = TypeToKeyName(type);
          var groups = new Registry<ActionGroupInfo>();
          Groups = groups;

          var allmi = GetAllActionMethods();

          foreach(var mi in allmi)
          {
            var iname = GetInvocationName(mi);
            aname = iname;
            var agi = groups[iname];
            if (agi==null)
            {
              agi = new ActionGroupInfo(this, iname);
              groups.Register(agi);
            }
            aname = null;  
          }
        }
        catch(Exception error)
        {
          throw new WaveException(StringConsts.MVC_CONTROLLER_REFLECTION_ERROR.Args(type.FullName, aname, error.ToMessageWithType()), error);
        }
      }
开发者ID:sergey-msu,项目名称:nfx,代码行数:30,代码来源:Reflection.cs

示例2: Resolving_concrete_type_resolves_all_dependencies

        public void Resolving_concrete_type_resolves_all_dependencies()
        {
            var registry = new Registry();

            registry.Register<Interface1, Class1>();
            registry.Register<Interface2, Class2>();
            registry.Register<Interface3, Class3>();
            registry.Register<Interface4, Class4>();

            var instance = registry.Resolve<Interface1>();

            Assert.IsNotNull(instance);
            Assert.IsNotNull(instance.Class2);
            Assert.IsNotNull(instance.Class3);
            Assert.IsNotNull(instance.Class2.Class3);
            Assert.IsNotNull(instance.Class3.Class4);
        }
开发者ID:erikojebo,项目名称:picostack,代码行数:17,代码来源:RegistrySpecs.cs

示例3: Registry

    public void Registry()
    {
       var reg = new Registry<NamedClazz>();
       Assert.IsTrue(  reg.Register( new NamedClazz("Apple", 1) ) );
       Assert.IsTrue(  reg.Register( new NamedClazz("Banana", 2) ) );
       Assert.IsFalse(  reg.Register( new NamedClazz("Apple", 3) ) );

       Assert.AreEqual(2, reg.Count);

       Assert.AreEqual(1, reg["Apple"].Data);
       Assert.AreEqual(2, reg["Banana"].Data);
       Assert.AreEqual(null, reg["Grapes"]);

       Assert.IsFalse( reg.Unregister(new NamedClazz("I was never added before", 1)) );
       Assert.AreEqual(2, reg.Count);

       Assert.IsTrue( reg.Unregister(new NamedClazz("Apple", 1)) );
       Assert.AreEqual(1, reg.Count);
       Assert.AreEqual(null, reg["Apple"]);
       Assert.AreEqual(2, reg["Banana"].Data);
    }
开发者ID:sergey-msu,项目名称:nfx,代码行数:21,代码来源:RegistryTests.cs

示例4: Processes_WhenHandlerTypeDoesNotHaveProcessMethod_ThrowsArgumentException

        public void Processes_WhenHandlerTypeDoesNotHaveProcessMethod_ThrowsArgumentException()
        {
            TestHelper.Act(
                () =>
                {
                    var sut = new Registry();

                    sut.Register("name")
                        .Processes<object>();
                })
                .ExpectMessageContains<ArgumentException>("System.Object does not have a public, instance method named Process.");
        }
开发者ID:sullivac,项目名称:handlers,代码行数:12,代码来源:HandlerRegistrationTest.cs

示例5: Portal

    /// <summary>
    /// Makes portal from config.
    /// Due to the nature of Portal object there is no need to create other parametrized ctors
    /// </summary>
    protected Portal(IConfigSectionNode conf)
    {
      const string PORTAL = "portal";

      m_Name = conf.AttrByName(Configuration.CONFIG_NAME_ATTR).Value;
      if (m_Name.IsNullOrWhiteSpace())
      {
        m_Name = this.GetType().Name;
        if (m_Name.EndsWith(PORTAL, StringComparison.OrdinalIgnoreCase) && m_Name.Length>PORTAL.Length)
         m_Name = m_Name.Substring(0, m_Name.Length-PORTAL.Length);
      }

      m_Description = conf.AttrByName(CONFIG_DESCR_ATTR).ValueAsString(m_Name);
      m_Offline = conf.AttrByName(CONFIG_OFFLINE_ATTR).ValueAsBool(false);
      m_Default = conf.AttrByName(CONFIG_DEFAULT_ATTR).ValueAsBool(false);

      var puri = conf.AttrByName(CONFIG_PRIMARY_ROOT_URI_ATTR).Value;

      try{ m_PrimaryRootUri = new Uri(puri, UriKind.Absolute); }
      catch(Exception error)
      {
        throw new WaveException(StringConsts.CONFIG_PORTAL_ROOT_URI_ERROR.Args(m_Name, error.ToMessageWithType()), error);
      }

      m_Themes = new Registry<Theme>();
      var nthemes = conf.Children.Where(c => c.IsSameName(CONFIG_THEME_SECTION));
      foreach(var ntheme in nthemes)
      {
        var theme = FactoryUtils.Make<Theme>(ntheme, args: new object[]{this, ntheme});
        if(!m_Themes.Register(theme))
          throw new WaveException(StringConsts.CONFIG_PORTAL_DUPLICATE_THEME_NAME_ERROR.Args(theme.Name, m_Name)); 
      }

      if (m_Themes.Count==0)
        throw new WaveException(StringConsts.CONFIG_PORTAL_NO_THEMES_ERROR.Args(m_Name)); 

      m_DefaultTheme = m_Themes.FirstOrDefault(t => t.Default);
      if (m_DefaultTheme==null)
        throw new WaveException(StringConsts.CONFIG_PORTAL_NO_DEFAULT_THEME_ERROR.Args(m_Name)); 

      ConfigAttribute.Apply(this, conf);
    }//.ctor
开发者ID:keck,项目名称:nfx,代码行数:46,代码来源:Portal.cs

示例6: Processes_WhenCalledMultipleTimes_RegistersEachHandlerType

        public void Processes_WhenCalledMultipleTimes_RegistersEachHandlerType()
        {
            const string instanceName = "empty";
            var handlerCache = new HandlerCache();
            handlerCache.Set(0);

            var sut = new Registry();

            sut.Register(instanceName)
                .Processes<CounterHandler>()
                .Processes<CounterHandler>();

            var container = new Container(sut);

            HandlerProcessor processor = container.With(handlerCache).GetInstance<HandlerProcessor>(instanceName);

            processor.Process();

            Assert.AreEqual(2, handlerCache.Get(typeof(int)));
        }
开发者ID:sullivac,项目名称:handlers,代码行数:20,代码来源:HandlerRegistrationTest.cs

示例7: Processes_WhenHandlerTypeHasProcessMethod_RegistersHandlerType

        public void Processes_WhenHandlerTypeHasProcessMethod_RegistersHandlerType()
        {
            const string instanceName = "empty";
            var handlerCache = new HandlerCache();

            var sut = new Registry();

            sut.Register(instanceName)
                .Processes<EmptyHandler>();

            var container = new Container(sut);

            HandlerProcessor processor = container.With(handlerCache).GetInstance<HandlerProcessor>(instanceName);

            processor.Process();

            Assert.IsTrue(container.Model.For<HandlerProcessor>().HasImplementations(), "Missing implementations.");
            Assert.IsNotNull(container.Model.Find<HandlerProcessor>(instanceName));
            Assert.AreEqual("message", handlerCache.Get(typeof(string)));
        }
开发者ID:sullivac,项目名称:handlers,代码行数:20,代码来源:HandlerRegistrationTest.cs

示例8: CaseSensitive

        public void CaseSensitive()
        {
            var reg = new Registry<NamedClazz>(true);//SENSITIVE!!!!!!!!!!!!!!!!!!!!!!!!!!!
               Assert.IsTrue(  reg.Register( new NamedClazz("Apple", 1) ) );
               Assert.IsTrue(  reg.Register( new NamedClazz("Banana", 2) ) );
               Assert.IsTrue(  reg.Register( new NamedClazz("APPLE", 3) ) );

               Assert.AreEqual(3, reg.Count);

               Assert.AreEqual(1, reg["Apple"].Data);
               Assert.AreEqual(2, reg["Banana"].Data);
               Assert.AreEqual(3, reg["APPLE"].Data);

               Assert.IsFalse( reg.Unregister(new NamedClazz("I was never added before", 1)) );
               Assert.AreEqual(3, reg.Count);

               Assert.IsFalse( reg.Unregister(new NamedClazz("AppLE", 1)) );
               Assert.AreEqual(3, reg.Count);
               Assert.IsTrue( reg.Unregister(new NamedClazz("APPLE", 3)) );
               Assert.AreEqual(2, reg.Count);
               Assert.AreEqual(1, reg["Apple"].Data);
               Assert.AreEqual(2, reg["Banana"].Data);
               Assert.AreEqual(null, reg["APPLE"]);
        }
开发者ID:vlapchenko,项目名称:nfx,代码行数:24,代码来源:RegistryTests.cs

示例9: Register

 public override void Register(string Tag, Registry Registry, int Index)
 {
     Registry.Register (Tag, Index);
     Registry.Register ("no" + Tag, Index);
 }
开发者ID:hallambaker,项目名称:Omnibroker,代码行数:5,代码来源:OBPClient.cs

示例10: Portal

        /// <summary>
        /// Makes portal from config.
        /// Due to the nature of Portal object there is no need to create other parametrized ctors
        /// </summary>
        protected Portal(IConfigSectionNode conf)
            : base(PortalHub.Instance)
        {
            const string PORTAL = "portal";

            m_Name = conf.AttrByName(Configuration.CONFIG_NAME_ATTR).Value;
            if (m_Name.IsNullOrWhiteSpace())
            {
              m_Name = this.GetType().Name;
              if (m_Name.EndsWith(PORTAL, StringComparison.OrdinalIgnoreCase) && m_Name.Length>PORTAL.Length)
               m_Name = m_Name.Substring(0, m_Name.Length-PORTAL.Length);
            }

            //Register with the Hub
            if (!PortalHub.Instance.m_Portals.Register( this ))
              throw new WaveException(StringConsts.PORTAL_HUB_INSTANCE_ALREADY_CONTAINS_PORTAL_ERROR.Args(m_Name));

            m_Description = conf.AttrByName(CONFIG_DESCR_ATTR).ValueAsString(m_Name);
            m_Offline = conf.AttrByName(CONFIG_OFFLINE_ATTR).ValueAsBool(false);
            m_Default = conf.AttrByName(CONFIG_DEFAULT_ATTR).ValueAsBool(false);

            var puri = conf.AttrByName(CONFIG_PRIMARY_ROOT_URI_ATTR).Value;

            try{ m_PrimaryRootUri = new Uri(puri, UriKind.Absolute); }
            catch(Exception error)
            {
              throw new WaveException(StringConsts.CONFIG_PORTAL_ROOT_URI_ERROR.Args(m_Name, error.ToMessageWithType()), error);
            }

            m_DisplayName = conf.AttrByName(CONFIG_DISPLAY_NAME_ATTR).Value;

            if (m_DisplayName.IsNullOrWhiteSpace())
              m_DisplayName = m_PrimaryRootUri.ToString();

            m_Themes = new Registry<Theme>();
            var nthemes = conf.Children.Where(c => c.IsSameName(CONFIG_THEME_SECTION));
            foreach(var ntheme in nthemes)
            {
              var theme = FactoryUtils.Make<Theme>(ntheme, args: new object[]{this, ntheme});
              if(!m_Themes.Register(theme))
            throw new WaveException(StringConsts.CONFIG_PORTAL_DUPLICATE_THEME_NAME_ERROR.Args(theme.Name, m_Name));
            }

            if (m_Themes.Count==0)
              throw new WaveException(StringConsts.CONFIG_PORTAL_NO_THEMES_ERROR.Args(m_Name));

            m_DefaultTheme = m_Themes.FirstOrDefault(t => t.Default);
            if (m_DefaultTheme==null)
              throw new WaveException(StringConsts.CONFIG_PORTAL_NO_DEFAULT_THEME_ERROR.Args(m_Name));

            m_ParentName = conf.AttrByName(CONFIG_PARENT_NAME_ATTR).Value;

            ConfigAttribute.Apply(this, conf);

            m_LocalizableContent = new Dictionary<string,string>(GetLocalizableContent(), StringComparer.InvariantCultureIgnoreCase);
            foreach(var atr in conf[CONFIG_LOCALIZATION_SECTION][CONFIG_CONTENT_SECTION].Attributes)
             m_LocalizableContent[atr.Name] = atr.Value;

            var gen = conf[CONFIG_RECORD_MODEL_SECTION];
            m_RecordModelGenerator = FactoryUtils.Make<Client.RecordModelGenerator>(gen,
                                                                                typeof(Client.RecordModelGenerator),
                                                                                new object[]{gen});

            m_RecordModelGenerator.ModelLocalization += recGeneratorLocalization;

            m_LocalizationData = conf[CONFIG_LOCALIZATION_SECTION];
            var msgFile = m_LocalizationData.AttrByName(CONFIG_MSG_FILE_ATTR).Value;
            if (msgFile.IsNotNullOrWhiteSpace())
            try
            {
               m_LocalizationData = Configuration.ProviderLoadFromFile(msgFile).Root;
            }
            catch(Exception fileError)
            {
               throw new WaveException(StringConsts.CONFIG_PORTAL_LOCALIZATION_FILE_ERROR.Args(m_Name, msgFile, fileError.ToMessageWithType()), fileError);
            }
        }
开发者ID:yhhno,项目名称:nfx,代码行数:81,代码来源:Portal.cs

示例11: NetAdapterInfo

            internal NetAdapterInfo(NetworkInterface nic, int order)
            {
                m_Name = "{0}::{1}".Args(nic.Id, nic.Name);
                                    m_Order = order;
                                    m_Description = nic.Description;
                                    m_ReceiveOnly = nic.IsReceiveOnly;
                                    m_AdapterType =  nic.NetworkInterfaceType.ToString();
                                    m_Status = nic.OperationalStatus.ToString();
                                    m_Speed = nic.Speed;
                                    m_IPv4Support = nic.Supports( NetworkInterfaceComponent.IPv4 );
                                    m_IPv6Support = nic.Supports( NetworkInterfaceComponent.IPv6 );

                                    var addrs = nic.GetIPProperties().UnicastAddresses;
                                    m_Addresses = new Registry<NetAddrInfo>();
                                    var ord = 0;
                                    foreach(var addr in addrs)
                                    {
                                      m_Addresses.Register( new NetAddrInfo(addr, ord) );
                                      ord++;
                                    }
            }
开发者ID:itadapter,项目名称:nfx,代码行数:21,代码来源:NetworkUtils.cs

示例12: configTaxCalculators

      private void configTaxCalculators(IConfigSectionNode nTax)
      {
        var calculators = new Registry<TaxCalculator>();
        var nCalculators = nTax.Children.Where(n => n.IsSameName(CONFIG_TAX_CALCULATOR_SECTION));

        foreach (var nCalculator in nCalculators)
        {
          var calculator = FactoryUtils.MakeAndConfigure<TaxCalculator>(nCalculator, typeof(TaxCalculator), new object[] { null, nCalculator});
          calculators.Register(calculator);
        }

        m_TaxCalculators = calculators;
      }
开发者ID:vlapchenko,项目名称:nfx,代码行数:13,代码来源:WebSettings.cs

示例13: configSocial

      private void configSocial(IConfigSectionNode nSocial)
      {
        var networks = new Registry<SocialNetwork>();
        var nProviders = nSocial.Children.Where(n => n.IsSameName(CONFIG_SOCIAL_PROVIDER_SECTION));

        foreach (var nProv in nProviders)
        {
          var provider = FactoryUtils.MakeAndConfigure<SocialNetwork>(nProv, typeof(SocialNetwork), new object[] { null, nProv});
          networks.Register(provider);
        }

        m_SocialNetworks = networks;
      }
开发者ID:vlapchenko,项目名称:nfx,代码行数:13,代码来源:WebSettings.cs

示例14: Configure

        /// <summary>
        /// Configures store from node, if node==null then store will be configured by named node of 'app/cache/store[name=X]' path, if such path
        /// is not found the store tries to find 'app/cache/store[!name]' (node without name)
        /// </summary>
        public void Configure(IConfigSectionNode node)
        {
            if (node==null)
                {
                    node = App.ConfigRoot[CONFIG_CACHE_SECTION]
                              .Children
                              .FirstOrDefault(s => s.IsSameName(CONFIG_STORE_SECTION) && s.IsSameNameAttr(Name) );
                    if (node==null)
                    {

                        node = App.ConfigRoot[CONFIG_CACHE_SECTION]
                               .Children
                               .FirstOrDefault(s => s.IsSameName(CONFIG_STORE_SECTION) && !s.AttrByName(Configuration.CONFIG_NAME_ATTR).Exists);
                        if (node==null) return;
                    }
                }

                ConfigAttribute.Apply(this, node);

                m_TableOptions = new Registry<TableOptions>();
                foreach(var tn in node.Children.Where(cn => cn.IsSameName(CONFIG_TABLE_SECTION)) )
                {
                    var tbl = new TableOptions();
                    ((IConfigurable)tbl).Configure(tn);
                    m_TableOptions.Register( tbl );
                }
        }
开发者ID:itadapter,项目名称:nfx,代码行数:31,代码来源:CacheStore.cs

示例15: Registry_Clear

        public void Registry_Clear()
        {
            var reg = new Registry<NamedClazz>();
               Assert.IsTrue(  reg.Register( new NamedClazz("Apple", 1) ) );
               Assert.IsTrue(  reg.Register( new NamedClazz("Banana", 2) ) );
               Assert.IsFalse(  reg.Register( new NamedClazz("Apple", 3) ) );

               Assert.AreEqual(2, reg.Count);

               Assert.AreEqual(1, reg["Apple"].Data);
               Assert.AreEqual(2, reg["Banana"].Data);
               Assert.AreEqual(null, reg["Grapes"]);

               reg.Clear();

               Assert.AreEqual(0, reg.Count);
               Assert.AreEqual(null, reg["Apple"]);
               Assert.AreEqual(null, reg["Banana"]);
        }
开发者ID:vlapchenko,项目名称:nfx,代码行数:19,代码来源:RegistryTests.cs


注:本文中的Registry.Register方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。