protected virtual AttachableMember LookupAttachableMember(string name) { var getter = UnderlyingType.GetTypeInfo().GetDeclaredMethod("Get" + name); var setter = UnderlyingType.GetTypeInfo().GetDeclaredMethod("Set" + name); return(TypeRepository.GetAttachableMember(name, getter, setter)); }
private XamlType LookupType() { var underlyingType = DeclaringType.UnderlyingType; var property = underlyingType.GetRuntimeProperty(Name); property.ThrowIfNull(() => new ParseException($"Cannot find a property named \"{Name}\" in the type {underlyingType}")); return(TypeRepository.GetByType(property.PropertyType)); }
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>()); } }
private XamlType LookupType() { return(TypeRepository.GetByType(getter.ReturnType)); }