public static CallSiteBinder /*!*/ GetProperty(string fieldName, DTypeDesc classContext, bool issetSemantics, Type /*!*/ returnType) { // the binder cache key string key = string.Format("{0}'{1}'{2}'{3}", fieldName ?? "$", (classContext != null) ? (classContext.GetHashCode().ToString()) : string.Empty, issetSemantics ? "1" : "0", returnType.FullName ); lock (getMemberBinders) { PhpGetMemberBinder binder; if (!getMemberBinders.TryGetValue(key, out binder)) { getMemberBinders[key] = binder = new PhpGetMemberBinder(fieldName, classContext, issetSemantics, returnType); } return(binder); } throw new NotImplementedException(); }
public static CallSiteBinder/*!*/GetProperty(string fieldName, DTypeDesc classContext, bool issetSemantics, Type/*!*/returnType) { // the binder cache key string key = string.Format("{0}'{1}'{2}'{3}", fieldName ?? "$", (classContext != null) ? (classContext.GetHashCode().ToString()) : string.Empty, issetSemantics ? "1" : "0", returnType.FullName ); lock (getMemberBinders) { PhpGetMemberBinder binder; if (!getMemberBinders.TryGetValue(key, out binder)) getMemberBinders[key] = binder = new PhpGetMemberBinder(fieldName, classContext, issetSemantics, returnType); return binder; } throw new NotImplementedException(); }