コード例 #1
0
        //---------------------------------------------------------------------
        private void CacheRules()
        {
            ReadOnlyCollection <MonitoringRule> rules;

            rules = m_managementGroup.GetMonitoringRules(new MonitoringRuleCriteria("HasNonCategoryOverride=1"));

            m_rulesCache    = new Dictionary <Guid, MonitoringRule>(rules.Count);
            m_typeToRuleMap = new Dictionary <Guid, List <MonitoringRule> >();

            foreach (MonitoringRule rule in rules)
            {
                m_rulesCache.Add(rule.Id, rule);

                if (m_typeToRuleMap.ContainsKey(rule.Target.Id))
                {
                    m_typeToRuleMap[rule.Target.Id].Add(rule);
                }
                else
                {
                    m_typeToRuleMap.Add(rule.Target.Id, new List <MonitoringRule>());
                    m_typeToRuleMap[rule.Target.Id].Add(rule);
                }
            }
        }