internal bool TryGetContextVariable(ChainSegment segment, out object value) { if (segment.WellKnownVariable != WellKnownVariable.None) { var wellKnownVariable = WellKnownVariables[(int)segment.WellKnownVariable]; return(BlockParamsObject.TryGetValue(segment, out value) || ContextDataObject.TryGetValue(wellKnownVariable, out value)); } return(BlockParamsObject.TryGetValue(segment, out value) || ContextDataObject.TryGetValue(segment, out value)); }
internal bool TryGetVariable(ChainSegment segment, out object value) { if (segment.WellKnownVariable != WellKnownVariable.None) { var wellKnownVariable = WellKnownVariables[(int)segment.WellKnownVariable]; return(BlockParamsObject.TryGetValue(wellKnownVariable, out value) || (Descriptor.Value.MemberAccessor?.TryGetValue(Value, segment, out value) ?? false)); } return(BlockParamsObject.TryGetValue(segment, out value) || (Descriptor.Value.MemberAccessor?.TryGetValue(Value, segment, out value) ?? false)); }