//Methods /// <summary> /// Checks validity /// </summary> protected override void Check() { if (Alpha < 0 || Alpha > 1) { throw new ArgumentException($"Invalid alpha {Alpha.ToString(CultureInfo.InvariantCulture)}. Alpha must be GE to 0 and LE to 1.", "Alpha"); } if (Beta < 0 || Beta > 1) { throw new ArgumentException($"Invalid beta {Beta.ToString(CultureInfo.InvariantCulture)}. Beta must be GE to 0 and LE to 1.", "Beta"); } if (InitialEfficacy < 0 || InitialEfficacy > 1) { throw new ArgumentException($"Invalid InitialEfficacy {InitialEfficacy.ToString(CultureInfo.InvariantCulture)}. InitialEfficacy must be GE to 0 and LE to 1.", "InitialEfficacy"); } return; }
/// <summary> /// Generates xml element containing the settings. /// </summary> /// <param name="rootElemName">Name to be used as a name of the root element.</param> /// <param name="suppressDefaults">Specifies whether to ommit optional nodes having set default values</param> /// <returns>XElement containing the settings</returns> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName); if (!suppressDefaults || !IsDefaultAlpha) { rootElem.Add(new XAttribute("alpha", Alpha.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultBeta) { rootElem.Add(new XAttribute("beta", Beta.ToString(CultureInfo.InvariantCulture))); } if (!suppressDefaults || !IsDefaultInitialEfficacy) { rootElem.Add(new XAttribute("initialEfficacy", InitialEfficacy.ToString(CultureInfo.InvariantCulture))); } Validate(rootElem, XsdTypeName); return(rootElem); }