public override bool TryGetMember(GetMemberBinder binder, out object result) { if (_children.ContainsKey(binder.Name)) { result = _children[binder.Name]; } else { result = new NullExceptionPreventer(); } return true; }
/// <summary> /// Can't access memeber on leaf node, returns NullExceptionPreventer /// </summary> /// <param name="binder"></param> /// <param name="result">NullExceptionPreventer</param> /// <returns>true</returns> public override bool TryGetMember(GetMemberBinder binder, out object result) { result = new NullExceptionPreventer(); return true; }
/// <summary> /// can't access [] on leaf node, returns NullExceptionPreventer /// </summary> /// <param name="binder"></param> /// <param name="indexes"></param> /// <param name="result">NullExceptionPreventer</param> /// <returns>true</returns> public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result) { result = new NullExceptionPreventer(); return true; }