public RuntimeMember Find(MemberSpecification specification, Func<KeyValuePair<string, Accessor>, bool> filter) { foreach (KeyValuePair<string, Accessor> accessor in accessors) { if (!filter(accessor)) continue; if (specification.IsSetter) return new SetterMember(accessor.Value); if (specification.IsGetter) return new GetterMember(accessor.Value); } throw new ArgumentException(string.Format("Missing member '{0}'", specification)); }
public static RuntimeMember GetDirectInstance(object instance, MemberSpecification specification) { foreach (var member in FindDirectInstance(instance, specification).Value) { return(member); } throw specification.MemberMissingException(instance.GetType()); }
public static RuntimeMemberFactory MakeFactory(MemberSpecification specification, MemberInfo memberInfo) { switch (memberInfo.MemberType) { case MemberTypes.Method: return new MethodMemberFactory(memberInfo, specification); case MemberTypes.Field: return new FieldMemberFactory(memberInfo); case MemberTypes.Property: return new PropertyMemberFactory(memberInfo); case MemberTypes.Constructor: return new ConstructorMemberFactory(memberInfo); default: return new UnsupportedMemberFactory(memberInfo); } }
public static RuntimeMemberFactory MakeFactory(MemberSpecification specification, MemberInfo memberInfo) { switch (memberInfo.MemberType) { case MemberTypes.Method: return(new MethodMemberFactory(memberInfo, specification)); case MemberTypes.Field: return(new FieldMemberFactory(memberInfo)); case MemberTypes.Property: return(new PropertyMemberFactory(memberInfo)); case MemberTypes.Constructor: return(new ConstructorMemberFactory(memberInfo)); default: return(new UnsupportedMemberFactory(memberInfo)); } }
public override bool Matches(MemberSpecification specification) { return(false); }
public static RuntimeMember FindInstance(Func <TypedValue, MemberQuery, TypedValue> finder, object instance, MemberSpecification specification) { return(new MemberQuery(specification).Using(finder).Find(instance)); }
public RuntimeMember Find(MemberSpecification specification) { return columnAccessors.Find(specification, accessor => specification.MatchesIdentifierName(accessor.Key)); }
public override bool Matches(MemberSpecification specification) { return(Info.IsGenericMethod ? specification.MatchesBaseName(info.Name) : base.Matches(specification)); }
public static Maybe<RuntimeMember> FindDirectInstance(object instance, MemberSpecification specification) { return new MemberQuery(specification).FindMember(instance); }
public static RuntimeMember FindInstance(Func<TypedValue, MemberQuery, TypedValue> finder, object instance, MemberSpecification specification) { return new MemberQuery(specification).Using(finder).Find(instance); }
public RuntimeMember Find(MemberSpecification specification) { return columnAccessors.Find(specification, accessor => { var accessorName = accessor.Key.EndsWith("=") ? accessor.Key.Substring(0, accessor.Key.Length - 1) : accessor.Key; if (!specification.MatchesIdentifierName(accessorName)) return false; if (currentHeader != null && currentHeader.Text.EndsWith("=") && !accessor.Key.EndsWith("=")) return false; if (currentHeader != null && !currentHeader.Text.EndsWith("=") && accessor.Key.EndsWith("=")) return false; return true; }); }
public override bool Matches(MemberSpecification specification) { return false; }
public override bool Matches(MemberSpecification specification) { return Info.IsGenericMethod ? specification.MatchesBaseName(info.Name) : base.Matches(specification); }
public MethodMemberFactory(MemberInfo info, MemberSpecification specification) : base(info) { this.specification = specification; }
public virtual bool Matches(MemberSpecification specification) { return specification.MatchesGetSetName(info.Name); }
public virtual bool Matches(MemberSpecification specification) { return(specification.MatchesGetSetName(info.Name)); }
public MethodMemberFactory(MemberInfo info, MemberSpecification specification) : base(info) { this.specification = specification; }
public static RuntimeMember GetDirectInstance(object instance, MemberSpecification specification) { foreach (var member in FindDirectInstance(instance, specification).Value) { return member; } throw specification.MemberMissingException(instance.GetType()); }
public BasicMemberMatcher(object instance, MemberSpecification specification) { this.instance = instance; this.specification = specification; }
public MemberQuery(MemberSpecification specification) { this.specification = specification; flags = BindingFlags.Instance | BindingFlags.Static; finder = FindMember; }
public BasicMemberMatcher(object instance, MemberSpecification specification) { this.instance = instance; this.specification = specification; }
public IndexerMemberMatcher(object instance, MemberSpecification specification) { this.specification = specification; this.instance = instance; }
public static Maybe <RuntimeMember> FindDirectInstance(object instance, MemberSpecification specification) { return(new MemberQuery(specification).FindMember(instance)); }
public IndexerMemberMatcher(object instance, MemberSpecification specification) { this.specification = specification; this.instance = instance; }
public MemberQuery(MemberSpecification specification) { this.specification = specification; flags = BindingFlags.Instance | BindingFlags.Static; finder = FindMember; }
public RuntimeMember Find(MemberSpecification specification) { Assert.IsTrue(specification.MatchesIdentifierName("dynamic")); return new QueryableMember("dynamic"); }