public bool TryGet(NameToken name, out IToken token) { if (name == null) { throw new ArgumentNullException(nameof(name)); } return(Data.TryGetValue(name.Data, out token)); }
public bool TryGet <T>(NameToken name, out T token) where T : IToken { token = default(T); if (!TryGet(name, out var t) || !(t is T typedToken)) { return(false); } token = typedToken; return(true); }
public T Get <T>(NameToken name, IPdfTokenScanner scanner) where T : IToken { if (!TryGet(name, out var token) || !(token is T typedToken)) { if (!(token is IndirectReferenceToken indirectReference)) { throw new InvalidOperationException($"Dictionary does not contain token with name {name} of type {typeof(T).Name}."); } typedToken = DirectObjectFinder.Get <T>(indirectReference, scanner); } return(typedToken); }
public DictionaryToken With(NameToken key, IToken value) => With(key.Data, value);
public bool ContainsKey(NameToken name) { return(Data.ContainsKey(name.Data)); }