private void Deserialize(SerializationInfo info, StreamingContext context, bool useContext)
{
if (null == info)
{
throw new ArgumentNullException(nameof(info));
}
SerializationInfoEnumerator enumerator = info.GetEnumerator();
while (enumerator.MoveNext())
{
switch (enumerator.Name)
{
case VersionKey:
string version = info.GetString(VersionKey);
break;
case AuthenticationTypeKey:
_authenticationType = info.GetString(AuthenticationTypeKey);
break;
case NameClaimTypeKey:
_nameClaimType = info.GetString(NameClaimTypeKey);
break;
case RoleClaimTypeKey:
_roleClaimType = info.GetString(RoleClaimTypeKey);
break;
case LabelKey:
_label = info.GetString(LabelKey);
break;
default:
// Ignore other fields for forward compatability.
break;
}
}
}
}