/// <summary> /// Sets the value of a property in this extensible element. /// </summary> /// <param name="ext"></param> /// <param name="name"></param> /// <param name="value"></param> public static void SetValue(this IExtensibleElement ext, string name, string value) { Check.NotNull(ext, "ext"); //NOXLATE Check.NotEmpty(name, "name"); //NOXLATE if (ext.Extension.Content != null) { var el = ext.Extension.Content.FindElementByName(name); if (el != null) { el.InnerText = value; } else { var values = new List <XmlElement>(ext.Extension.Content); var rid = AppDefDocument.Instance.CreateElement(name); rid.InnerText = value; values.Add(rid); ext.Extension.Content = values.ToArray(); } } else { var rid = AppDefDocument.Instance.CreateElement(name); rid.InnerText = value; ext.Extension.Content = new XmlElement[] { rid }; } Trace.TraceInformation("Extensible element property {0} set to: {1}", name, value); //NOXLATE }
/// <summary> /// Gets all the properties in this extensible element /// </summary> /// <param name="ext"></param> /// <returns></returns> public static NameValueCollection GetAllValues(this IExtensibleElement ext) { Check.NotNull(ext, "ext"); //NOXLATE NameValueCollection values = new NameValueCollection(); foreach (var el in ext.Extension.Content) { values.Add(el.Name, el.InnerText); } return(values); }
/// <summary> /// Gets the names of all properties of this extensible element /// </summary> /// <param name="ext"></param> /// <returns></returns> public static string[] GetNames(this IExtensibleElement ext) { Check.NotNull(ext, "ext"); //NOXLATE List <string> names = new List <string>(); foreach (var el in ext.Extension.Content) { names.Add(el.Name); } return(names.ToArray()); }
/// <summary> /// Gets the value of a property in this extensible element. If none exists, an empty string is returned /// </summary> /// <param name="ext"></param> /// <param name="name"></param> /// <returns></returns> public static string GetValue(this IExtensibleElement ext, string name) { Check.NotNull(ext, "ext"); //NOXLATE Check.NotEmpty(name, "name"); //NOXLATE if (ext.Extension.Content != null) { var el = ext.Extension.Content.FindElementByName(name); if (el != null) { return(el.InnerText); } } return(string.Empty); }
/// <summary> /// Replace the values of all properties in this extensible element with the values provided /// </summary> /// <param name="ext"></param> /// <param name="values"></param> public static void SetAllValues(this IExtensibleElement ext, NameValueCollection values) { Check.NotNull(ext, "ext"); //NOXLATE Check.NotNull(values, "values"); //NOXLATE var elements = new List <XmlElement>(); foreach (string name in values.Keys) { var value = values[name]; var rid = AppDefDocument.Instance.CreateElement(name); rid.InnerText = value; elements.Add(rid); } ext.Extension.Content = elements.ToArray(); }