Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
DisplayableParameters.cs
1using System;
2using System.Collections.Generic;
4
6{
8 {
9 private readonly Dictionary<string, Parameter> parameters = new Dictionary<string, Parameter>();
10 private Parameter[] ordered;
11
12 public DisplayableParameters(Parameter[] Parameters)
13 {
14 this.ordered = Parameters;
15 this.AddRange(Parameters);
16 }
17
18 public void Add(Parameter Parameter)
19 {
20 this.parameters[Parameter.Id] = Parameter;
21 this.ordered = null;
22 }
23
24 public void AddRange(IEnumerable<Parameter> Parameters)
25 {
26 foreach (Parameter P in Parameters)
27 this.parameters[P.Id] = P;
28
29 this.ordered = null;
30 }
31
32 public Parameter[] Ordered
33 {
34 get
35 {
36 if (this.ordered is null)
37 {
38 Parameter[] Ordered = new Parameter[this.parameters.Count];
39 this.parameters.Values.CopyTo(Ordered, 0);
40 this.ordered = Ordered;
41 }
42
43 return this.ordered;
44 }
45 }
46
47 public string this[string ParameterId]
48 {
49 get
50 {
51 if (this.parameters.TryGetValue(ParameterId, out Parameter Parameter))
52 return Parameter.UntypedValue?.ToString() ?? string.Empty;
53 else
54 return string.Empty;
55 }
56 }
57 }
58}
Base class for all node parameters.
Definition: Parameter.cs:10
abstract object UntypedValue
Untyped parameter value
Definition: Parameter.cs:56