Nustache.Core.RenderContext.GetValueFromPath C# (CSharp) Method

GetValueFromPath() private static method

private static GetValueFromPath ( object data, string path, bool &partialMatch ) : object
data object
path string
partialMatch bool
return object
        private static object GetValueFromPath(object data, string path, out bool partialMatch)
        {
            partialMatch = false;

            var value = ValueGetter.GetValue(data, path);

            if (value != null && !ReferenceEquals(value, ValueGetter.NoValue))
            {
                return value;
            }

            var names = path.Split('.');

            if (names.Length > 1)
            {
                for (int i = 0; i < names.Length; i++ )
                {
                    data = ValueGetter.GetValue(data, names[i]);

                    if (data == null || ReferenceEquals(data, ValueGetter.NoValue))
                    {
                        if (i > 0)
                        {
                            partialMatch = true;
                        }

                        break;
                    }
                }

                return data;
            }

            return value;
        }