public string GetValue(IXmlDictionary staticDictionary, XmlBinaryReaderSession readerSession)
{
int id = this.DictionaryId / 2;
XmlDictionaryString dicString = XmlDictionaryString.Empty;
bool found;
if (this.IsSession)
{
if (readerSession == null)
{
return null;
}
found = readerSession.TryLookup(id, out dicString);
}
else
{
if (staticDictionary == null)
{
return null;
}
found = staticDictionary.TryLookup(id, out dicString);
}
if (found)
{
return dicString.Value;
}
else
{
throw new ArgumentException("Cannot find value for dictionary string with ID = " + this.DictionaryId);
}
}