public override object Exec(BCLInterfaceType d, object arg) { // * Has the attribute previously found? if (d.Members.ContainsKey(memberName)) { return(d.Members[memberName].Type); } // * Lets use introspection TypeExpression memberType = d.FindMember(memberName); if (memberType != null) { return(memberType); } // * Search in the inhirtance tree foreach (BCLInterfaceType interfaze in d.InterfaceList) { // * Does this interface support this attribute? TypeExpression member = (TypeExpression)interfaze.AcceptOperation(this, arg); if (member != null) { return(member); } } // * not found return(null); }
public override object Exec(BCLInterfaceType bclInterfaceType, object arg) { // * This operation has an important performance cost. Therefore, it is done locally because // the BCLClassType only returns the type of an specific member (not all of them) return(this.getAccessModifiers(bclInterfaceType, true)); }
public virtual object Exec(BCLInterfaceType b, object arg) { return(Exec((InterfaceType)b, arg)); }