示例#1
0
文件: XamlMember.cs 项目: zsd4yr/wpf
        protected virtual IList <XamlMember> LookupDependsOn()
        {
            if (!AreAttributesAvailable)
            {
                return(null);
            }
            List <string> doPropertyNames = _reflector.GetAllAttributeContents <string>(typeof(DependsOnAttribute));

            if (doPropertyNames == null || doPropertyNames.Count == 0)
            {
                return(null);
            }

            List <XamlMember> result = new List <XamlMember>();

            foreach (var name in doPropertyNames)
            {
                XamlMember member = _declaringType.GetMember(name);

                // Normally we want to throw if property lookup fails to return anything
                // but here we can not throw because v3.0 does not
                if (member != null)
                {
                    result.Add(member);
                }
            }
            return(XamlType.GetReadOnly(result));
        }
        protected virtual IList <XamlMember> LookupDependsOn()
        {
            if (!this.AreAttributesAvailable)
            {
                return(null);
            }
            List <string> allAttributeContents = this._reflector.GetAllAttributeContents <string>(typeof(DependsOnAttribute));

            if ((allAttributeContents == null) || (allAttributeContents.Count == 0))
            {
                return(null);
            }
            List <XamlMember> list = new List <XamlMember>();

            foreach (string str in allAttributeContents)
            {
                XamlMember item = this._declaringType.GetMember(str);
                if (item != null)
                {
                    list.Add(item);
                }
            }
            return(XamlType.GetReadOnly <XamlMember>(list));
        }