/// <summary> /// Generates an object from its XML representation. /// </summary> /// <param name="reader">The <see cref="XmlReader"/> stream from which the object is deserialized.</param> public void ReadXml(XmlReader reader) { string v; Uri = !String.IsNullOrWhiteSpace(v = reader[nameof(Uri)]) ? new Uri(_assembly_uri, v) : null; PublicKey = !String.IsNullOrWhiteSpace(v = reader[nameof(PublicKey)]) ? Convert.FromBase64String(v) : null; if (reader.IsEmptyElement) { return; } while (reader.Read() && !(reader.NodeType == XmlNodeType.EndElement && reader.LocalName == GetType().Name)) { if (reader.NodeType == XmlNodeType.Element && reader.Name == nameof(MinisignPublicKeyDictionary)) { if (reader["Key"] == nameof(MinisignPublicKeys)) { MinisignPublicKeys = new MinisignPublicKeyDictionary(); MinisignPublicKeys.ReadXml(reader); } } } }
public bool ReadRegistry(RegistryKey key, string name) { if (key.GetValue(name) is string v) { Uri = !string.IsNullOrEmpty(v) ? new Uri(AssemblyUri, v) : null; var pk = new MinisignPublicKeyDictionary(); if (pk.ReadRegistry(key, name + "PublicKeys")) { PublicKeys = pk; } return(true); } return(false); }
/// <summary> /// Deserialize object. /// </summary> /// <param name="info">The <see cref="SerializationInfo"/> populated with data.</param> /// <param name="context">The source of this deserialization.</param> protected ResourceRef(SerializationInfo info, StreamingContext context) { Uri = (Uri)info.GetValue(nameof(PublicKeys), typeof(Uri)); PublicKeys = (MinisignPublicKeyDictionary)info.GetValue(nameof(PublicKeys), typeof(MinisignPublicKeyDictionary)); }