public bool TryGetValue(object key, out object value) { if (!_values.TryGetValue(key, out value)) { try { if (!_isResolving) { // This prevents a stack overflow while looking for a // missing resource in generated xaml code. _isResolving = true; value = DefaultResolver?.Invoke(key.ToString()); } } finally { _isResolving = false; } return(value != null); } return(true); }
public bool TryGetValue(object key, out object value) { if (!_values.TryGetValue(key, out value)) { try { _resolvingDepth++; if (_resolvingDepth <= FeatureConfiguration.Xaml.MaxRecursiveResolvingDepth) { // This prevents a stack overflow while looking for a // missing resource in generated xaml code. value = DefaultResolver?.Invoke(key.ToString()); } } finally { _resolvingDepth--; } return(value != null); } return(true); }
public bool TryGetValue(object key, out object value) { if (!_values.TryGetValue(key, out value)) { value = DefaultResolver?.Invoke(key.ToString()); return(value != null); } return(true); }
public object Lookup(object key) { object value; var keyName = key.ToString(); if (!_values.TryGetValue(keyName, out value)) { return(DefaultResolver?.Invoke(keyName)); } return(value); }
public bool HasKey(object key) { var keyName = key.ToString(); return(_values.ContainsKey(keyName) || DefaultResolver?.Invoke(keyName) != null); }