Пример #1
0
        private void AnalyzeBAMLElement(BAMLAnalyzer analyzer, BamlElement elem)
        {
            foreach (var rec in elem.Body)
            {
                var prop = rec as PropertyWithConverterRecord;
                if (prop == null)
                {
                    continue;
                }

                var    attr     = analyzer.ResolveAttribute(prop.AttributeId);
                string attrName = null;
                if (attr.Item2 != null)
                {
                    attrName = attr.Item2.Name;
                }
                else if (attr.Item1 != null)
                {
                    attrName = attr.Item1.Name;
                }

                if (attrName == "Attach")
                {
                    AnalyzeMessageAttach(analyzer, attr, prop.Value);
                }

                if (attrName == "Name")
                {
                    AnalyzeAutoBind(analyzer, attr, prop.Value);
                }

                if (attrName == "MethodName")
                {
                    AnalyzeActionMessage(analyzer, attr, prop.Value);
                }
            }
        }