Browse Source

Remove TryGetValueUntyped.

pull/3287/head
Steven Kirk 7 years ago
parent
commit
13431044c1
  1. 23
      src/Avalonia.Base/ValueStore.cs

23
src/Avalonia.Base/ValueStore.cs

@ -34,38 +34,27 @@ namespace Avalonia
}
public bool IsSet(AvaloniaProperty property)
{
return TryGetValueUntyped(property, out _);
}
public bool TryGetValue<T>(StyledPropertyBase<T> property, out T value)
{
if (_values.TryGetValue(property, out var slot))
{
if (slot is IValue<T> v)
if (slot is IValue v)
{
if (v.Value.HasValue)
{
value = v.Value.Value;
return true;
}
return v.Value.HasValue;
}
else
{
value = (T)slot;
return true;
}
}
value = default!;
return false;
}
public bool TryGetValueUntyped(AvaloniaProperty property, out object? value)
public bool TryGetValue<T>(StyledPropertyBase<T> property, out T value)
{
if (_values.TryGetValue(property, out var slot))
{
if (slot is IValue v)
if (slot is IValue<T> v)
{
if (v.Value.HasValue)
{
@ -75,12 +64,12 @@ namespace Avalonia
}
else
{
value = slot;
value = (T)slot;
return true;
}
}
value = default;
value = default!;
return false;
}

Loading…
Cancel
Save