//Methods /// <inheritdoc/> protected override void Check() { if (Name.Length == 0) { throw new ArgumentException($"Name can not be empty.", "Name"); } Type genType = GeneratorCfg.GetType(); if (genType != typeof(PulseGeneratorSettings) && genType != typeof(RandomValueSettings) && genType != typeof(SinusoidalGeneratorSettings) && genType != typeof(MackeyGlassGeneratorSettings)) { throw new ArgumentException($"Unsupported generator configuration {genType}.", "GeneratorCfg"); } return; }
/// <inheritdoc/> public override XElement GetXml(string rootElemName, bool suppressDefaults) { XElement rootElem = new XElement(rootElemName, new XAttribute("name", Name), GeneratorCfg.GetXml(suppressDefaults) ); if (!suppressDefaults || !IsDefaultRouteToReadout) { rootElem.Add(new XAttribute("routeToReadout", RouteToReadout.ToString(CultureInfo.InvariantCulture).ToLowerInvariant())); } if (!suppressDefaults || !FeatureFilterCfg.ContainsOnlyDefaults) { rootElem.Add(FeatureFilterCfg.GetXml(suppressDefaults)); } Validate(rootElem, XsdTypeName); return(rootElem); }