IdentifierValueConverter<T>
using AngleSharp.Dom.Css;
using AngleSharp.Extensions;
using System;
namespace AngleSharp.Css.ValueConverters
{
internal sealed class IdentifierValueConverter<T> : IValueConverter<T>, IValueConverter
{
private readonly string _identifier;
private readonly T _result;
public int MinArgs => 1;
public int MaxArgs => 1;
public IdentifierValueConverter(string identifier, T result)
{
_identifier = identifier;
_result = result;
}
public bool TryConvert(ICssValue value, Action<T> setResult)
{
if (!value.Is(_identifier))
return false;
setResult(_result);
return true;
}
public bool Validate(ICssValue value)
{
return value.Is(_identifier);
}
}
}