public static IEnumerable <IMember> GetAvailableMembersFor(this IClassType targetClass, AccessLevelModifiers lowestAccessLevel, Predicate <IMember> predicate = null) { return(targetClass.GetAvailableMembersFor(predicate.And(k => { if (k is IScopedDeclaration) { var scopedMember = (IScopedDeclaration)k; return IsAtLeast(scopedMember.AccessLevel, lowestAccessLevel); } return false; }))); }
public static IEnumerable <IMember> GetAvailableMembersFor(this IClassType targetClass, string name, AccessLevelModifiers lowestAccessLevel) { return(targetClass.GetAvailableMembersFor(k => { if (k.Name != name) { return false; } if (k is IScopedDeclaration) { var scopedMember = (IScopedDeclaration)k; return IsAtLeast(scopedMember.AccessLevel, lowestAccessLevel); } return false; })); }