protected override IEnumerable <Member> LookupDependencies() { var underlyingType = DeclaringType.UnderlyingType; var dependsOnAttributes = underlyingType.GetRuntimeProperty(Name)?.GetCustomAttributes <DependsOnAttribute>(); return(dependsOnAttributes.Select(attr => DeclaringType.GetMember(attr.Name))); }
protected virtual IEnumerable <Member> LookupDependencies() { var metadata = FeatureProvider.GetMetadata(DeclaringType.UnderlyingType); if (metadata != null) { var namesOfPropsWeDependOn = metadata.GetMemberDependencies(this.Name); return(namesOfPropsWeDependOn.Select(s => DeclaringType.GetMember(s))); } else { return(new List <Member>()); } }
protected virtual IEnumerable <XamlMember> LookupDependencies() { var underlyingType = DeclaringType.UnderlyingType; var metadata = TypeRepository.GetMetadata(underlyingType); if (metadata != null) { var namesOfPropsWeDependOn = metadata.GetMemberDependencies(this.Name); return(namesOfPropsWeDependOn.Select(s => DeclaringType.GetMember(s))); } else { return(new List <XamlMember>()); } }
protected override IList <XamlMember> LookupDependsOn() { if (_dependsOn == null) { var attrib = UnderlyingMember.GetCustomAttribute <DependsOnAttribute>(true); if (attrib != null) { var member = DeclaringType.GetMember(attrib.Name); _dependsOn = new XamlMember[] { member }; } else { _dependsOn = base.LookupDependsOn(); } } return(_dependsOn); }