Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }