#### [DiGi\.Core\.Parameter](DiGi.Core.Parameter.Overview.md 'DiGi\.Core\.Parameter\.Overview') ## DiGi\.Core\.Parameter\.Classes Namespace ### Classes ## AssociatedTypes Class Defines a set of types associated with an enum value\. ```csharp public class AssociatedTypes : System.Attribute, System.Collections.IEnumerable, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → AssociatedTypes Implements [System\.Collections\.IEnumerable](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerable 'System\.Collections\.IEnumerable'), [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject') ### Constructors ## AssociatedTypes\(AssociatedTypes\) Constructor Initializes a new instance of the AssociatedTypes class by copying another AssociatedTypes instance\. ```csharp public AssociatedTypes(DiGi.Core.Parameter.Classes.AssociatedTypes? associatedTypes); ``` #### Parameters `associatedTypes` [AssociatedTypes](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.AssociatedTypes 'DiGi\.Core\.Parameter\.Classes\.AssociatedTypes') The AssociatedTypes instance to copy\. ## AssociatedTypes\(JsonObject\) Constructor Initializes a new instance of the AssociatedTypes class from a JSON object\. ```csharp public AssociatedTypes(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object containing associated types data\. ## AssociatedTypes\(Type\[\]\) Constructor Initializes a new instance of the AssociatedTypes class with specified values\. ```csharp public AssociatedTypes(params System.Type[]? values); ``` #### Parameters `values` [System\.Type](https://learn.microsoft.com/en-us/dotnet/api/system.type 'System\.Type')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') The associated types\. ### Properties ## AssociatedTypes\.Types Property Gets the collection of associated types\. ```csharp public System.Type[]? Types { get; } ``` #### Property Value [System\.Type](https://learn.microsoft.com/en-us/dotnet/api/system.type 'System\.Type')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') ### Methods ## AssociatedTypes\.Clone\(\) Method Creates a shallow copy of the current AssociatedTypes instance\. ```csharp public virtual DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A cloned ISerializableObject\. ## AssociatedTypes\.FromJsonObject\(JsonObject\) Method Populates the current AssociatedTypes instance from a JSON object\. ```csharp public virtual bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to read data from\. Implements [FromJsonObject\(JsonObject\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject.fromjsonobject#digi-core-interfaces-iserializableobject-fromjsonobject(system-text-json-nodes-jsonobject) 'DiGi\.Core\.Interfaces\.ISerializableObject\.FromJsonObject\(System\.Text\.Json\.Nodes\.JsonObject\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if successful, false otherwise\. ## AssociatedTypes\.GetEnumerator\(\) Method Returns an enumerator that iterates through the associated types\. ```csharp public System.Collections.IEnumerator GetEnumerator(); ``` Implements [GetEnumerator\(\)](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerable.getenumerator 'System\.Collections\.IEnumerable\.GetEnumerator') #### Returns [System\.Collections\.IEnumerator](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerator 'System\.Collections\.IEnumerator') An IEnumerator for the Types collection\. ## AssociatedTypes\.IsValid\(Type\) Method Determines whether a specified type is associated with this instance\. ```csharp public virtual bool IsValid(System.Type? type); ``` #### Parameters `type` [System\.Type](https://learn.microsoft.com/en-us/dotnet/api/system.type 'System\.Type') The type to validate\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the type is valid, false otherwise\. ## AssociatedTypes\.ToJsonObject\(\) Method Converts the current AssociatedTypes instance to a JSON object\. ```csharp public virtual System.Text.Json.Nodes.JsonObject? ToJsonObject(); ``` Implements [ToJsonObject\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject.tojsonobject 'DiGi\.Core\.Interfaces\.ISerializableObject\.ToJsonObject') #### Returns [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The resulting JsonObject\. ## BooleanParameterValue Class Represents a boolean value for a parameter\. ```csharp public class BooleanParameterValue : DiGi.Core.Parameter.Classes.ParameterValue ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') → BooleanParameterValue ### Constructors ## BooleanParameterValue\(\) Constructor Initializes a new instance of the [BooleanParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.BooleanParameterValue 'DiGi\.Core\.Parameter\.Classes\.BooleanParameterValue') class\. ```csharp public BooleanParameterValue(); ``` ## BooleanParameterValue\(bool\) Constructor Initializes a new instance of the [BooleanParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.BooleanParameterValue 'DiGi\.Core\.Parameter\.Classes\.BooleanParameterValue') class with specified nullability\. ```csharp public BooleanParameterValue(bool nullable); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the parameter is nullable\. ## BooleanParameterValue\(BooleanParameterValue\) Constructor Initializes a new instance of the [BooleanParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.BooleanParameterValue 'DiGi\.Core\.Parameter\.Classes\.BooleanParameterValue') class by copying an existing value\. ```csharp public BooleanParameterValue(DiGi.Core.Parameter.Classes.BooleanParameterValue? booleanParameterValue); ``` #### Parameters `booleanParameterValue` [BooleanParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.BooleanParameterValue 'DiGi\.Core\.Parameter\.Classes\.BooleanParameterValue') The BooleanParameterValue to copy\. ## BooleanParameterValue\(JsonObject\) Constructor Initializes a new instance of the [BooleanParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.BooleanParameterValue 'DiGi\.Core\.Parameter\.Classes\.BooleanParameterValue') class from a JSON object\. ```csharp public BooleanParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the current instance from\. ### Properties ## BooleanParameterValue\.ParameterType Property Gets the type of the parameter, which is Integer\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## BooleanParameterValue\.Clone\(\) Method Creates a shallow copy of the current integer parameter value\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A shallow copy of the current integer parameter value\. ## BooleanParameterValue\.IsValid\(object\) Method Determines whether the specified value is a valid integer parameter value\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the specified value is a valid integer parameter value; otherwise, false\. ## BooleanParameterValue\.TryConvert\(object, object\) Method Attempts to convert the specified input value to an integer parameter value\. ```csharp public override bool TryConvert(object? value_In, out object? value_Out); ``` #### Parameters `value_In` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The input value to be converted\. `value_Out` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the converted value if successful; otherwise, null\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the conversion was successful; otherwise, false\. ## ComplexParameterDefinition Class Represents the abstract base class for complex parameter definitions\. ```csharp public abstract class ComplexParameterDefinition : DiGi.Core.Parameter.Classes.ParameterDefinition ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') → ComplexParameterDefinition Derived ↳ [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') ↳ [ExternalParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ExternalParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ExternalParameterDefinition') ### Constructors ## ComplexParameterDefinition\(\) Constructor Creates a new instance of the ComplexParameterDefinition class\. ```csharp public ComplexParameterDefinition(); ``` ## ComplexParameterDefinition\(ComplexParameterDefinition\) Constructor Creates a new instance of the ComplexParameterDefinition class by copying another ComplexParameterDefinition\. ```csharp public ComplexParameterDefinition(DiGi.Core.Parameter.Classes.ComplexParameterDefinition? complexParameterDefinition); ``` #### Parameters `complexParameterDefinition` [ComplexParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ComplexParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ComplexParameterDefinition') The ComplexParameterDefinition to copy\. ## ComplexParameterDefinition\(JsonObject\) Constructor Creates a new instance of the ComplexParameterDefinition class from a JSON object\. ```csharp public ComplexParameterDefinition(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object containing the complex parameter definition data\. ### Properties ## ComplexParameterDefinition\.AccessType Property Gets the access type of the complex parameter definition\. ```csharp public abstract DiGi.Core.Parameter.Enums.AccessType AccessType { get; } ``` #### Property Value [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') ## ComplexParameterDefinition\.AssociatedTypes Property Gets the associated types of the complex parameter definition\. ```csharp public abstract DiGi.Core.Parameter.Classes.AssociatedTypes? AssociatedTypes { get; } ``` #### Property Value [AssociatedTypes](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.AssociatedTypes 'DiGi\.Core\.Parameter\.Classes\.AssociatedTypes') ## ComplexParameterDefinition\.Description Property Gets the description of the complex parameter definition\. ```csharp public abstract string? Description { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ComplexParameterDefinition\.ParameterType Property Gets the type of the parameter\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` Implements [ParameterType](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.ParameterType 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.ParameterType') #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ## ComplexParameterDefinition\.ParameterValue Property Gets the parameter value of the complex parameter definition\. ```csharp public abstract DiGi.Core.Parameter.Classes.ParameterValue? ParameterValue { get; } ``` #### Property Value [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') ### Methods ## ComplexParameterDefinition\.IsValid\(object\) Method Determines whether the specified value is valid for this complex parameter definition\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. Implements [IsValid\(object\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.IsValid(object) 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.IsValid\(object\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is valid, false otherwise\. ## DoubleParameterValue Class Represents a double\-precision floating\-point value for a parameter\. ```csharp public class DoubleParameterValue : DiGi.Core.Parameter.Classes.ParameterValue ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') → DoubleParameterValue ### Constructors ## DoubleParameterValue\(\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class\. ```csharp public DoubleParameterValue(); ``` ## DoubleParameterValue\(bool\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class with specified nullability\. ```csharp public DoubleParameterValue(bool nullable); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the parameter is nullable\. ## DoubleParameterValue\(bool, double, double\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class with specified nullability and range\. ```csharp public DoubleParameterValue(bool nullable, double min, double max); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the parameter is nullable\. `min` [System\.Double](https://learn.microsoft.com/en-us/dotnet/api/system.double 'System\.Double') The minimum value for the parameter\. `max` [System\.Double](https://learn.microsoft.com/en-us/dotnet/api/system.double 'System\.Double') The maximum value for the parameter\. ## DoubleParameterValue\(DoubleParameterValue\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class by copying an existing value\. ```csharp public DoubleParameterValue(DiGi.Core.Parameter.Classes.DoubleParameterValue? doubleParameterValue); ``` #### Parameters `doubleParameterValue` [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') The existing value to copy from\. ## DoubleParameterValue\(double\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class with a minimum value\. ```csharp public DoubleParameterValue(double min); ``` #### Parameters `min` [System\.Double](https://learn.microsoft.com/en-us/dotnet/api/system.double 'System\.Double') The minimum value for the parameter\. ## DoubleParameterValue\(double, double\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class with a specified range\. ```csharp public DoubleParameterValue(double min, double max); ``` #### Parameters `min` [System\.Double](https://learn.microsoft.com/en-us/dotnet/api/system.double 'System\.Double') The minimum value for the parameter\. `max` [System\.Double](https://learn.microsoft.com/en-us/dotnet/api/system.double 'System\.Double') The maximum value for the parameter\. ## DoubleParameterValue\(JsonObject\) Constructor Initializes a new instance of the [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') class from a JSON object\. ```csharp public DoubleParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the value from\. ### Properties ## DoubleParameterValue\.ParameterType Property Gets the type of the parameter, which is Integer\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## DoubleParameterValue\.Clone\(\) Method Creates a shallow copy of the current integer parameter value\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A shallow copy of the current integer parameter value\. ## DoubleParameterValue\.IsValid\(object\) Method Determines whether the specified value is a valid integer parameter value\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the specified value is a valid integer parameter value; otherwise, false\. ## DoubleParameterValue\.TryConvert\(object, object\) Method Attempts to convert the specified input value to an integer parameter value\. ```csharp public override bool TryConvert(object? value_In, out object? value_Out); ``` #### Parameters `value_In` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The input value to be converted\. `value_Out` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the converted value if successful; otherwise, null\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the conversion was successful; otherwise, false\. ## EnumParameterDefinition Class Defines a parameter based on an enumeration type\. ```csharp public class EnumParameterDefinition : DiGi.Core.Parameter.Classes.ComplexParameterDefinition ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') → [ComplexParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ComplexParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ComplexParameterDefinition') → EnumParameterDefinition ### Constructors ## EnumParameterDefinition\(\) Constructor Initializes a new instance of the [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') class\. ```csharp public EnumParameterDefinition(); ``` ## EnumParameterDefinition\(EnumParameterDefinition\) Constructor Initializes a new instance of the [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') class by copying an existing definition\. ```csharp public EnumParameterDefinition(DiGi.Core.Parameter.Classes.EnumParameterDefinition? enumParameterDefinition); ``` #### Parameters `enumParameterDefinition` [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') The existing enum parameter definition to copy\. ## EnumParameterDefinition\(Enum\) Constructor Initializes a new instance of the [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') class based on a specific enumeration value\. ```csharp public EnumParameterDefinition(System.Enum? @enum); ``` #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enumeration value to use for initialization\. ## EnumParameterDefinition\(JsonObject\) Constructor Initializes a new instance of the [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') class from a JSON object\. ```csharp public EnumParameterDefinition(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object used to initialize the parameter definition\. ### Properties ## EnumParameterDefinition\.AccessType Property Gets the access type for the enum parameter\. ```csharp public override DiGi.Core.Parameter.Enums.AccessType AccessType { get; } ``` #### Property Value [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') ## EnumParameterDefinition\.AssociatedTypes Property Gets the associated types for the enum parameter\. ```csharp public override DiGi.Core.Parameter.Classes.AssociatedTypes? AssociatedTypes { get; } ``` #### Property Value [AssociatedTypes](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.AssociatedTypes 'DiGi\.Core\.Parameter\.Classes\.AssociatedTypes') ## EnumParameterDefinition\.Description Property Gets or sets the description of the enum parameter\. ```csharp public override string? Description { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## EnumParameterDefinition\.GroupName Property Gets the group name to which the enum parameter belongs\. ```csharp public override string GroupName { get; } ``` Implements [GroupName](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.GroupName 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.GroupName') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## EnumParameterDefinition\.Name Property Gets or sets the name of the enum parameter\. ```csharp public override string? Name { get; } ``` Implements [Name](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.inamedobject.name 'DiGi\.Core\.Interfaces\.INamedObject\.Name') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## EnumParameterDefinition\.ParameterValue Property Gets or sets the current value of the enum parameter\. ```csharp public override DiGi.Core.Parameter.Classes.ParameterValue? ParameterValue { get; } ``` #### Property Value [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') ## EnumParameterDefinition\.UniqueId Property Gets or sets the unique identifier for the enum parameter\. ```csharp public override string? UniqueId { get; } ``` Implements [UniqueId](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.UniqueId 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.UniqueId') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ### Methods ## EnumParameterDefinition\.Clone\(\) Method Creates a copy of the current enum parameter definition\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A clone of the current enum parameter definition as an [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')\. ## EnumParameterDefinition\.FromJsonObject\(JsonObject\) Method Populates the enum parameter definition from a JSON object\. ```csharp public override bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to populate the definition from\. Implements [FromJsonObject\(JsonObject\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject.fromjsonobject#digi-core-interfaces-iserializableobject-fromjsonobject(system-text-json-nodes-jsonobject) 'DiGi\.Core\.Interfaces\.ISerializableObject\.FromJsonObject\(System\.Text\.Json\.Nodes\.JsonObject\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') `true` if the population was successful; otherwise, `false`\. ## EnumParameterDefinition\.ToJsonObject\(\) Method Converts the enum parameter definition to a JSON object\. ```csharp public override System.Text.Json.Nodes.JsonObject ToJsonObject(); ``` Implements [ToJsonObject\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject.tojsonobject 'DiGi\.Core\.Interfaces\.ISerializableObject\.ToJsonObject') #### Returns [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') A [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') representation of the enum parameter definition\. ### Operators ## EnumParameterDefinition\.explicit operator EnumParameterDefinition\(Enum\) Operator Explicitly converts an [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') to an [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition')\. ```csharp public static DiGi.Core.Parameter.Classes.EnumParameterDefinition? explicit operator DiGi.Core.Parameter.Classes.EnumParameterDefinition?(System.Enum? @enum); ``` #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enum value to convert\. #### Returns [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') An [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') instance created from the provided enum, or `null` if the input is `null`\. ## EnumParameterDefinition\.explicit operator Enum\(EnumParameterDefinition\) Operator Explicitly converts an [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') to its underlying [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') value\. ```csharp public static System.Enum? explicit operator System.Enum?(DiGi.Core.Parameter.Classes.EnumParameterDefinition? enumParameterDefinition); ``` #### Parameters `enumParameterDefinition` [EnumParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.EnumParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.EnumParameterDefinition') The enum parameter definition to convert\. #### Returns [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') value associated with the definition, or `null` if the input is `null`\. ## ExternalParameterDefinition Class Represents a parameter definition defined externally with explicit metadata\. ```csharp public class ExternalParameterDefinition : DiGi.Core.Parameter.Classes.ComplexParameterDefinition, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') → [ComplexParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ComplexParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ComplexParameterDefinition') → ExternalParameterDefinition Implements [DiGi\.Core\.Interfaces\.INamedObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.inamedobject 'DiGi\.Core\.Interfaces\.INamedObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject') ### Constructors ## ExternalParameterDefinition\(\) Constructor Creates a new instance of the ExternalParameterDefinition class\. ```csharp public ExternalParameterDefinition(); ``` ## ExternalParameterDefinition\(ExternalParameterDefinition\) Constructor Creates a new instance of the ExternalParameterDefinition class by copying another ExternalParameterDefinition\. ```csharp public ExternalParameterDefinition(DiGi.Core.Parameter.Classes.ExternalParameterDefinition? externalParameterDefinition); ``` #### Parameters `externalParameterDefinition` [ExternalParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ExternalParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ExternalParameterDefinition') The ExternalParameterDefinition to copy\. ## ExternalParameterDefinition\(Guid, string, string, AccessType, ParameterValue, AssociatedTypes, string\) Constructor Creates a new instance of the ExternalParameterDefinition class with the specified parameters\. ```csharp public ExternalParameterDefinition(System.Guid guid, string? name, string? description, DiGi.Core.Parameter.Enums.AccessType accessType, DiGi.Core.Parameter.Classes.ParameterValue? parameterValue, DiGi.Core.Parameter.Classes.AssociatedTypes associatedTypes, string? groupName); ``` #### Parameters `guid` [System\.Guid](https://learn.microsoft.com/en-us/dotnet/api/system.guid 'System\.Guid') The unique identifier\. `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name\. `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The description\. `accessType` [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') The access type\. `parameterValue` [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') The parameter value\. `associatedTypes` [AssociatedTypes](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.AssociatedTypes 'DiGi\.Core\.Parameter\.Classes\.AssociatedTypes') The associated types\. `groupName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The group name\. ## ExternalParameterDefinition\(JsonObject\) Constructor Creates a new instance of the ExternalParameterDefinition class from a JSON object\. ```csharp public ExternalParameterDefinition(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object containing the external parameter definition data\. ### Properties ## ExternalParameterDefinition\.AccessType Property Gets the access type of the external parameter definition\. ```csharp public override DiGi.Core.Parameter.Enums.AccessType AccessType { get; } ``` #### Property Value [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') ## ExternalParameterDefinition\.AssociatedTypes Property Gets the associated types of the external parameter definition\. ```csharp public override DiGi.Core.Parameter.Classes.AssociatedTypes? AssociatedTypes { get; } ``` #### Property Value [AssociatedTypes](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.AssociatedTypes 'DiGi\.Core\.Parameter\.Classes\.AssociatedTypes') ## ExternalParameterDefinition\.Description Property Gets the description of the external parameter definition\. ```csharp public override string? Description { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ExternalParameterDefinition\.GroupName Property Gets the group name of the external parameter definition\. ```csharp public override string? GroupName { get; } ``` Implements [GroupName](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.GroupName 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.GroupName') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ExternalParameterDefinition\.Name Property Gets the name of the external parameter definition\. ```csharp public override string? Name { get; } ``` Implements [Name](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.inamedobject.name 'DiGi\.Core\.Interfaces\.INamedObject\.Name') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ExternalParameterDefinition\.ParameterValue Property Gets the parameter value of the external parameter definition\. ```csharp public override DiGi.Core.Parameter.Classes.ParameterValue? ParameterValue { get; } ``` #### Property Value [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') ## ExternalParameterDefinition\.UniqueId Property Gets the unique identifier of the external parameter definition\. ```csharp public override string UniqueId { get; } ``` Implements [UniqueId](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.UniqueId 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.UniqueId') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ### Methods ## ExternalParameterDefinition\.IsValid\(object\) Method Determines whether the specified value is valid for this external parameter definition\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. Implements [IsValid\(object\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.IsValid(object) 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.IsValid\(object\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is valid, false otherwise\. ## GetValueSettings Class Contains settings for retrieving a parameter value\. ```csharp public class GetValueSettings ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → GetValueSettings ### Constructors ## GetValueSettings\(\) Constructor Initializes a new instance of the GetValueSettings class\. ```csharp public GetValueSettings(); ``` ## GetValueSettings\(bool, bool\) Constructor Initializes a new instance of the GetValueSettings class with specified options\. ```csharp public GetValueSettings(bool tryConvert, bool checkAccessType); ``` #### Parameters `tryConvert` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Whether to attempt conversion if types do not match\. `checkAccessType` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Whether to check for read access permissions\. ### Properties ## GetValueSettings\.CheckAccessType Property Gets or sets a value indicating whether the access type should be checked during retrieval\. ```csharp public bool CheckAccessType { get; set; } ``` #### Property Value [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') ## GetValueSettings\.TryConvert Property Gets or sets a value indicating whether to attempt conversion of the value during retrieval\. ```csharp public bool TryConvert { get; set; } ``` #### Property Value [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') ## GuidParameterValue Class Represents a GUID value for a parameter\. ```csharp public class GuidParameterValue : DiGi.Core.Parameter.Classes.ParameterValue ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') → GuidParameterValue ### Constructors ## GuidParameterValue\(\) Constructor Initializes a new instance of the [GuidParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GuidParameterValue 'DiGi\.Core\.Parameter\.Classes\.GuidParameterValue') class\. ```csharp public GuidParameterValue(); ``` ## GuidParameterValue\(bool\) Constructor Initializes a new instance of the [GuidParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GuidParameterValue 'DiGi\.Core\.Parameter\.Classes\.GuidParameterValue') class with specified nullability\. ```csharp public GuidParameterValue(bool nullable); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the parameter is nullable\. ## GuidParameterValue\(GuidParameterValue\) Constructor Initializes a new instance of the [GuidParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GuidParameterValue 'DiGi\.Core\.Parameter\.Classes\.GuidParameterValue') class by copying an existing value\. ```csharp public GuidParameterValue(DiGi.Core.Parameter.Classes.GuidParameterValue? guidParameterValue); ``` #### Parameters `guidParameterValue` [GuidParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GuidParameterValue 'DiGi\.Core\.Parameter\.Classes\.GuidParameterValue') The existing value to copy\. ## GuidParameterValue\(JsonObject\) Constructor Initializes a new instance of the [GuidParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GuidParameterValue 'DiGi\.Core\.Parameter\.Classes\.GuidParameterValue') class from a JSON object\. ```csharp public GuidParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize from\. ### Properties ## GuidParameterValue\.ParameterType Property Gets the type of the parameter, which is Integer\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## GuidParameterValue\.Clone\(\) Method Creates a shallow copy of the current integer parameter value\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A shallow copy of the current object\. ## IntegerParameterValue Class Represents an integer value for a parameter\. ```csharp public class IntegerParameterValue : DiGi.Core.Parameter.Classes.ParameterValue ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') → IntegerParameterValue ### Constructors ## IntegerParameterValue\(\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class\. ```csharp public IntegerParameterValue(); ``` ## IntegerParameterValue\(bool\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class with specified nullability\. ```csharp public IntegerParameterValue(bool nullable); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Indicates whether the value can be null\. ## IntegerParameterValue\(bool, int, int\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class with specified nullability and range\. ```csharp public IntegerParameterValue(bool nullable, int min, int max); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Indicates whether the value can be null\. `min` [System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32') The minimum value for the parameter\. `max` [System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32') The maximum value for the parameter\. ## IntegerParameterValue\(IntegerParameterValue\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class by copying an existing value\. ```csharp public IntegerParameterValue(DiGi.Core.Parameter.Classes.IntegerParameterValue? integerParameterValue); ``` #### Parameters `integerParameterValue` [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') The existing integer parameter value to copy\. ## IntegerParameterValue\(int\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class with a minimum value\. ```csharp public IntegerParameterValue(int min); ``` #### Parameters `min` [System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32') The minimum value for the parameter\. ## IntegerParameterValue\(int, int\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class with a specified range\. ```csharp public IntegerParameterValue(int min, int max); ``` #### Parameters `min` [System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32') The minimum value for the parameter\. `max` [System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32') The maximum value for the parameter\. ## IntegerParameterValue\(JsonObject\) Constructor Initializes a new instance of the [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') class from a JSON object\. ```csharp public IntegerParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the value from\. ### Properties ## IntegerParameterValue\.ParameterType Property Gets the type of the parameter, which is Integer\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## IntegerParameterValue\.Clone\(\) Method Creates a shallow copy of the current integer parameter value\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A shallow copy of the current object\. ## IntegerParameterValue\.IsValid\(object\) Method Determines whether the specified value is a valid integer parameter value\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is valid; otherwise, false\. ## IntegerParameterValue\.TryConvert\(object, object\) Method Attempts to convert the specified input value to an integer parameter value\. ```csharp public override bool TryConvert(object? value_In, out object? value_Out); ``` #### Parameters `value_In` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The input value to convert\. `value_Out` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the converted value if successful; otherwise, null\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the conversion was successful; otherwise, false\. ## ObjectParameterValue Class Represents a parameter value that can hold an object of one or more specified types\. ```csharp public class ObjectParameterValue : DiGi.Core.Parameter.Classes.ParameterValue ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') → ObjectParameterValue ### Constructors ## ObjectParameterValue\(\) Constructor Initializes a new instance of the [ObjectParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ObjectParameterValue 'DiGi\.Core\.Parameter\.Classes\.ObjectParameterValue') class\. ```csharp public ObjectParameterValue(); ``` ## ObjectParameterValue\(bool, bool, Type\[\]\) Constructor Initializes a new instance of the [ObjectParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ObjectParameterValue 'DiGi\.Core\.Parameter\.Classes\.ObjectParameterValue') class with specified nullability, inheritance rules, and allowed types\. ```csharp public ObjectParameterValue(bool nullable, bool inheritance, params System.Type[] types); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Specifies whether the value can be null\. `inheritance` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Specifies whether inheritance is considered when validating types\. `types` [System\.Type](https://learn.microsoft.com/en-us/dotnet/api/system.type 'System\.Type')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') The collection of allowed types for this parameter value\. ## ObjectParameterValue\(ObjectParameterValue\) Constructor Initializes a new instance of the [ObjectParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ObjectParameterValue 'DiGi\.Core\.Parameter\.Classes\.ObjectParameterValue') class by copying an existing instance\. ```csharp public ObjectParameterValue(DiGi.Core.Parameter.Classes.ObjectParameterValue? objectParameterValue); ``` #### Parameters `objectParameterValue` [ObjectParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ObjectParameterValue 'DiGi\.Core\.Parameter\.Classes\.ObjectParameterValue') The existing instance to copy\. ## ObjectParameterValue\(JsonObject\) Constructor Initializes a new instance of the [ObjectParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ObjectParameterValue 'DiGi\.Core\.Parameter\.Classes\.ObjectParameterValue') class from a JSON object\. ```csharp public ObjectParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the current instance with\. ### Properties ## ObjectParameterValue\.ParameterType Property Gets the parameter type associated with this string parameter value\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## ObjectParameterValue\.Clone\(\) Method Creates a clone of the current string parameter value\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A new instance of [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') that is a copy of the current object\. ## ObjectParameterValue\.IsValid\(object\) Method Determines whether the specified value is valid for this parameter\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is valid; otherwise, false\. ## ObjectParameterValue\.TryConvert\(object, object\) Method Attempts to convert the specified input value to a compatible output value\. ```csharp public override bool TryConvert(object? value_In, out object? value_Out); ``` #### Parameters `value_In` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The input value to be converted\. `value_Out` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the converted value if successful; otherwise, null\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the conversion was successful; otherwise, false\. ## Parameter Class Represents a parameter with a definition and a value\. ```csharp public class Parameter : DiGi.Core.Classes.SerializableObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → Parameter ### Constructors ## Parameter\(Parameter\) Constructor Creates a new instance of the Parameter class by copying another Parameter\. ```csharp public Parameter(DiGi.Core.Parameter.Classes.Parameter? parameter); ``` #### Parameters `parameter` [Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter') The Parameter to copy\. ## Parameter\(IParameterDefinition\) Constructor Creates a new instance of the Parameter class with the specified parameter definition\. ```csharp internal Parameter(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition\. ## Parameter\(IParameterDefinition, object\) Constructor Creates a new instance of the Parameter class with the specified parameter definition and value\. ```csharp internal Parameter(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, object? value); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The parameter value\. ## Parameter\(JsonObject\) Constructor Creates a new instance of the Parameter class from a JSON object\. ```csharp public Parameter(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object containing the parameter data\. ### Properties ## Parameter\.Name Property Gets the name of the parameter\. ```csharp public string? Name { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## Parameter\.ParameterDefinition Property Gets the parameter definition\. ```csharp public DiGi.Core.Parameter.Interfaces.IParameterDefinition? ParameterDefinition { get; } ``` #### Property Value [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') ## Parameter\.ParameterType Property Gets the type of the parameter\. ```csharp public DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ## Parameter\.UniqueId Property Gets the unique identifier of the parameter\. ```csharp public string? UniqueId { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## Parameter\.Value Property Gets the value of the parameter\. ```csharp public object? Value { get; } ``` #### Property Value [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') ### Methods ## Parameter\.Clone\(\) Method Creates a deep copy of the Parameter\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A new cloned instance of the Parameter\. ## Parameter\.GetValue\\(GetValueSettings\) Method Gets the value of the parameter, converted to the specified type\. ```csharp public T? GetValue(DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type to convert the value to\. #### Parameters `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter.GetValue_T_(DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.Parameter\.GetValue\\(DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The converted value, or default if conversion fails\. ## Parameter\.SetValue\(object, SetValueSettings\) Method Sets the value of the parameter\. ```csharp public bool SetValue(object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to set\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings for setting the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set, false otherwise\. ## Parameter\.TryGetValue\\(T, GetValueSettings\) Method Tries to get the value of the parameter, converted to the specified type\. ```csharp public bool TryGetValue(out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type to convert the value to\. #### Parameters `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter.TryGetValue_T_(T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.Parameter\.TryGetValue\\(T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The converted value, or default if conversion fails\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved, false otherwise\. ## ParameterDefinition Class Provides a base class for defining parameters\. ```csharp public abstract class ParameterDefinition : DiGi.Core.Classes.SerializableObject, DiGi.Core.Parameter.Interfaces.IParameterDefinition, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, System.IEquatable, DiGi.Core.Interfaces.INamedObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → ParameterDefinition Derived ↳ [ComplexParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ComplexParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ComplexParameterDefinition') ↳ [SimpleParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SimpleParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.SimpleParameterDefinition') Implements [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition'), [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject'), [System\.IEquatable<](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1'), [DiGi\.Core\.Interfaces\.INamedObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.inamedobject 'DiGi\.Core\.Interfaces\.INamedObject') ### Constructors ## ParameterDefinition\(\) Constructor Initializes a new instance of the [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') class\. ```csharp public ParameterDefinition(); ``` ## ParameterDefinition\(ParameterDefinition\) Constructor Initializes a new instance of the [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') class by copying an existing definition\. ```csharp public ParameterDefinition(DiGi.Core.Parameter.Classes.ParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') The parameter definition to copy from\. ## ParameterDefinition\(JsonObject\) Constructor Initializes a new instance of the [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') class from a JSON object\. ```csharp public ParameterDefinition(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the definition from\. ### Properties ## ParameterDefinition\.GroupName Property Gets the group name to which the parameter belongs\. ```csharp public abstract string? GroupName { get; } ``` Implements [GroupName](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.GroupName 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.GroupName') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ParameterDefinition\.Name Property Gets or sets the name of the parameter\. ```csharp public abstract string? Name { get; } ``` Implements [Name](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.inamedobject.name 'DiGi\.Core\.Interfaces\.INamedObject\.Name') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ParameterDefinition\.ParameterType Property Gets the type of the parameter\. ```csharp public abstract DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` Implements [ParameterType](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.ParameterType 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.ParameterType') #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ## ParameterDefinition\.UniqueId Property Gets or sets the unique identifier for the parameter\. ```csharp public abstract string? UniqueId { get; } ``` Implements [UniqueId](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.UniqueId 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.UniqueId') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ### Methods ## ParameterDefinition\.Equals\(IParameterDefinition\) Method Determines whether the specified parameter definition is equal to the current instance\. ```csharp public bool Equals(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition to compare with the current instance\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the specified parameter definition is equal to the current instance; otherwise, false\. ## ParameterDefinition\.IsValid\(object\) Method Validates whether the provided value is valid for this parameter definition\. ```csharp public virtual bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. Implements [IsValid\(object\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.IsValid(object) 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.IsValid\(object\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is valid; otherwise, false\. ## ParameterGroup Class Represents a group of parameters\. ```csharp public class ParameterGroup : DiGi.Core.Classes.SerializableObject, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → ParameterGroup Implements [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1'), [System\.Collections\.IEnumerable](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerable 'System\.Collections\.IEnumerable') ### Constructors ## ParameterGroup\(ParameterGroup\) Constructor Initializes a new instance of the [ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup') class by copying another group\. ```csharp public ParameterGroup(DiGi.Core.Parameter.Classes.ParameterGroup? parameterGroup); ``` #### Parameters `parameterGroup` [ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup') The parameter group to copy from\. ## ParameterGroup\(string\) Constructor Initializes a new instance of the [ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup') class with a specified name\. ```csharp public ParameterGroup(string? name); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter group\. ## ParameterGroup\(string, IEnumerable\\) Constructor Initializes a new instance of the [ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup') class with a specified name and a collection of parameters\. ```csharp public ParameterGroup(string? name, System.Collections.Generic.IEnumerable? parameters); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter group\. `parameters` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') The collection of parameters to include in the group\. ## ParameterGroup\(JsonObject\) Constructor Initializes a new instance of the [ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup') class from a JSON object\. ```csharp public ParameterGroup(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the group from\. ### Properties ## ParameterGroup\.Name Property Gets or sets the display name of the parameter\. ```csharp public string? Name { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ### Methods ## ParameterGroup\.Clone\(\) Method Creates a deep copy of the current parameter group\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A deep copy of the current parameter group\. ## ParameterGroup\.Contains\(IParameterDefinition\) Method Determines whether any group in the collection contains a parameter matching the specified definition\. ```csharp public bool Contains(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition to search for\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the collection contains a parameter matching the specified definition; otherwise, false\. ## ParameterGroup\.Contains\(string\) Method Determines whether any group in the collection contains a parameter with the specified unique identifier\. ```csharp public bool Contains(string? uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter to search for\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the collection contains a parameter with the specified unique identifier; otherwise, false\. ## ParameterGroup\.GetEnumerator\(\) Method Returns an enumerator that iterates through the parameters in the group\. ```csharp public System.Collections.Generic.IEnumerator GetEnumerator(); ``` Implements [GetEnumerator\(\)](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1.getenumerator 'System\.Collections\.Generic\.IEnumerable\`1\.GetEnumerator'), [GetEnumerator\(\)](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerable.getenumerator 'System\.Collections\.IEnumerable\.GetEnumerator') #### Returns [System\.Collections\.Generic\.IEnumerator<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerator-1 'System\.Collections\.Generic\.IEnumerator\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerator-1 'System\.Collections\.Generic\.IEnumerator\`1') An enumerator that iterates through the parameters in the group\. ## ParameterGroup\.GetParameterDefinitions\(string, TextComparisonType, bool\) Method Retrieves a list of parameter definitions that match the specified name and comparison criteria\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions(string? name, DiGi.Core.Enums.TextComparisonType textComparisonType=DiGi.Core.Enums.TextComparisonType.Equals, bool caseSensitive=true); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameters to search for\. `textComparisonType` [DiGi\.Core\.Enums\.TextComparisonType](https://learn.microsoft.com/en-us/dotnet/api/digi.core.enums.textcomparisontype 'DiGi\.Core\.Enums\.TextComparisonType') The type of text comparison to use when matching the name\. `caseSensitive` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the name comparison is case\-sensitive\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions that match the specified criteria, or null if no matches are found\. ## ParameterGroup\.GetParameterDefinitions\\(string, TextComparisonType, bool\) Method Retrieves a list of parameter definitions of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetParameterDefinitions_T_(string,DiGi.Core.Enums.TextComparisonType,bool).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.T') that match the specified name and comparison criteria\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions(string? name, DiGi.Core.Enums.TextComparisonType textComparisonType=DiGi.Core.Enums.TextComparisonType.Equals, bool caseSensitive=true) where T : DiGi.Core.Parameter.Interfaces.IParameterDefinition; ``` #### Type parameters `T` The type of parameter definitions to retrieve\. #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameters to search for\. `textComparisonType` [DiGi\.Core\.Enums\.TextComparisonType](https://learn.microsoft.com/en-us/dotnet/api/digi.core.enums.textcomparisontype 'DiGi\.Core\.Enums\.TextComparisonType') The type of text comparison to use when matching the name\. `caseSensitive` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the name comparison is case\-sensitive\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetParameterDefinitions_T_(string,DiGi.Core.Enums.TextComparisonType,bool).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.T')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetParameterDefinitions_T_(string,DiGi.Core.Enums.TextComparisonType,bool).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.T') that match the specified criteria, or null if no matches are found\. ## ParameterGroup\.GetParameterDefinitions\\(\) Method Retrieves a list of parameter definitions of the specified type within the group\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions() where TParameterDefinition : DiGi.Core.Parameter.Interfaces.IParameterDefinition; ``` #### Type parameters `TParameterDefinition` The type of parameter definition to retrieve\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetParameterDefinitions_TParameterDefinition_().TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetParameterDefinitions\\(\)\.TParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions of the specified type, or null if none are found\. ## ParameterGroup\.GetValue\(IParameterDefinition, GetValueSettings\) Method Gets the value associated with the specified parameter definition from the collection\. ```csharp public object? GetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition to retrieve the value for\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified parameter definition, or null if not found\. ## ParameterGroup\.GetValue\(string, GetValueSettings\) Method Gets the value associated with the specified unique identifier from the collection\. ```csharp public object? GetValue(string? uniqueId, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to get\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified unique identifier, or null if not found\. ## ParameterGroup\.GetValue\\(IParameterDefinition, GetValueSettings\) Method Gets the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified parameter definition from the collection\. ```csharp public T? GetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter whose value is to be retrieved\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to control how the value is retrieved\. #### Returns [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The value associated with the specified parameter definition, or the default value for type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') if not found\. ## ParameterGroup\.GetValue\\(string, GetValueSettings\) Method Gets the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetValue_T_(string,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetValue\\(string, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified unique identifier\. ```csharp public T? GetValue(string? uniqueId, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to get\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetValue_T_(string,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetValue\\(string, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.GetValue_T_(string,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.GetValue\\(string, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified unique identifier, or null if not found\. ## ParameterGroup\.Remove\(IParameterDefinition\) Method Removes the parameter matching the specified definition from the collection\. ```csharp public bool Remove(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter to remove\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the parameter was successfully removed; otherwise, false\. ## ParameterGroup\.Remove\(string\) Method Removes the parameter with the specified unique identifier from the group\. ```csharp public bool Remove(string uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter to remove\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the parameter was successfully removed; otherwise, false\. ## ParameterGroup\.SetValue\(Parameter\) Method Adds or updates a parameter in the collection\. ```csharp public bool SetValue(DiGi.Core.Parameter.Classes.Parameter? parameter); ``` #### Parameters `parameter` [Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter') The parameter to add or update\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the operation was successful; otherwise, false\. ## ParameterGroup\.SetValue\(IParameterDefinition, object, SetValueSettings\) Method Sets the value for the parameter matching the specified definition within the collection\. ```csharp public bool SetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter to set\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to assign to the parameter\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings to control how the value is set\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParameterGroup\.SetValue\(string, object, SetValueSettings\) Method Sets the value for the parameter identified by the specified name within the collection\. ```csharp public bool SetValue(string? name, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter to set\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to assign to the parameter\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings to control how the value is set\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParameterGroup\.TryGetValue\(IParameterDefinition, object, GetValueSettings\) Method Attempts to get the value associated with the specified parameter definition from the collection\. ```csharp public bool TryGetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition for which to retrieve the value\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the retrieved value if found; otherwise, null\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParameterGroup\.TryGetValue\(string, object, GetValueSettings\) Method Attempts to get the value associated with the specified unique identifier from the collection\. ```csharp public bool TryGetValue(string? uniqueId, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter for which to retrieve the value\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the retrieved value if found; otherwise, null\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParameterGroup\.TryGetValue\\(IParameterDefinition, T, GetValueSettings\) Method Attempts to get the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified parameter definition from the collection\. ```csharp public bool TryGetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition for which to retrieve the value\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the retrieved value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') if found; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParameterGroup\.TryGetValue\\(string, T, GetValueSettings\) Method Attempts to get the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified unique identifier from the collection\. ```csharp public bool TryGetValue(string? uniqueId, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter for which to retrieve the value\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the retrieved value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') if found; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParameterGroupCollection Class Represents a collection of parameter groups\. ```csharp public class ParameterGroupCollection : DiGi.Core.Classes.SerializableObject, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → ParameterGroupCollection Implements [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1'), [System\.Collections\.IEnumerable](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerable 'System\.Collections\.IEnumerable') ### Constructors ## ParameterGroupCollection\(\) Constructor Initializes a new instance of the [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') class\. ```csharp public ParameterGroupCollection(); ``` ## ParameterGroupCollection\(ParameterGroupCollection\) Constructor Initializes a new instance of the [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') class by copying another collection\. ```csharp public ParameterGroupCollection(DiGi.Core.Parameter.Classes.ParameterGroupCollection? parameterGroupCollection); ``` #### Parameters `parameterGroupCollection` [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') The parameter group collection to copy from\. ## ParameterGroupCollection\(IEnumerable\\) Constructor Initializes a new instance of the [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') class from a collection of parameters\. ```csharp public ParameterGroupCollection(System.Collections.Generic.IEnumerable? parameters); ``` #### Parameters `parameters` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') The collection of parameters to initialize the collection with\. ## ParameterGroupCollection\(JsonObject\) Constructor Initializes a new instance of the [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') class from a JSON object\. ```csharp public ParameterGroupCollection(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the collection from\. ### Properties ## ParameterGroupCollection\.this\[string\] Property Gets the parameter group associated with the specified name\. ```csharp public DiGi.Core.Parameter.Classes.ParameterGroup? this[string? name] { get; } ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter group to retrieve\. #### Property Value [ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup') ### Methods ## ParameterGroupCollection\.Clone\(\) Method Creates a deep copy of the current parameter group collection\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A deep copy of the current parameter group collection\. ## ParameterGroupCollection\.Contains\(IParameterDefinition\) Method Determines whether any group in the collection contains a parameter matching the specified definition\. ```csharp public bool Contains(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition to search for\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if any group in the collection contains a parameter matching the specified definition; otherwise, false\. ## ParameterGroupCollection\.Contains\(string\) Method Determines whether any group in the collection contains a parameter with the specified unique identifier\. ```csharp public bool Contains(string? uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter to search for\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if any group in the collection contains a parameter with the specified unique identifier; otherwise, false\. ## ParameterGroupCollection\.GetEnumerator\(\) Method Returns an enumerator that iterates through the parameter groups in the collection\. ```csharp public System.Collections.Generic.IEnumerator GetEnumerator(); ``` Implements [GetEnumerator\(\)](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1.getenumerator 'System\.Collections\.Generic\.IEnumerable\`1\.GetEnumerator'), [GetEnumerator\(\)](https://learn.microsoft.com/en-us/dotnet/api/system.collections.ienumerable.getenumerator 'System\.Collections\.IEnumerable\.GetEnumerator') #### Returns [System\.Collections\.Generic\.IEnumerator<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerator-1 'System\.Collections\.Generic\.IEnumerator\`1')[ParameterGroup](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroup 'DiGi\.Core\.Parameter\.Classes\.ParameterGroup')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerator-1 'System\.Collections\.Generic\.IEnumerator\`1') An enumerator that iterates through the parameter groups in the collection\. ## ParameterGroupCollection\.GetParameterDefinitions\(string, TextComparisonType, bool\) Method Retrieves a list of parameter definitions that match the specified name and comparison criteria across all groups\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions(string? parameterName, DiGi.Core.Enums.TextComparisonType textComparisonType=DiGi.Core.Enums.TextComparisonType.Equals, bool caseSensitive=true); ``` #### Parameters `parameterName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameters to search for\. `textComparisonType` [DiGi\.Core\.Enums\.TextComparisonType](https://learn.microsoft.com/en-us/dotnet/api/digi.core.enums.textcomparisontype 'DiGi\.Core\.Enums\.TextComparisonType') The type of text comparison to use when matching the name\. `caseSensitive` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the comparison should be case\-sensitive\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions that match the criteria, or null if none are found\. ## ParameterGroupCollection\.GetParameterDefinitions\\(\) Method Retrieves a list of all parameter definitions of the specified type across all groups\. ```csharp public System.Collections.Generic.List GetParameterDefinitions() where TParameterDefinition : DiGi.Core.Parameter.Interfaces.IParameterDefinition; ``` #### Type parameters `TParameterDefinition` The type of parameter definition to retrieve\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.GetParameterDefinitions_TParameterDefinition_().TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.GetParameterDefinitions\\(\)\.TParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list containing all parameter definitions of the specified type\. ## ParameterGroupCollection\.GetParameterDefinitions\\(string, TextComparisonType, bool\) Method Retrieves a list of parameter definitions of type [TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.GetParameterDefinitions_TParameterDefinition_(string,DiGi.Core.Enums.TextComparisonType,bool).TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.TParameterDefinition') that match the specified name and comparison criteria across all groups\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions(string? parameterName, DiGi.Core.Enums.TextComparisonType textComparisonType=DiGi.Core.Enums.TextComparisonType.Equals, bool caseSensitive=true) where TParameterDefinition : DiGi.Core.Parameter.Interfaces.IParameterDefinition; ``` #### Type parameters `TParameterDefinition` The type of parameter definition to retrieve\. #### Parameters `parameterName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameters to search for\. `textComparisonType` [DiGi\.Core\.Enums\.TextComparisonType](https://learn.microsoft.com/en-us/dotnet/api/digi.core.enums.textcomparisontype 'DiGi\.Core\.Enums\.TextComparisonType') The type of text comparison to use when matching the name\. `caseSensitive` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the comparison should be case\-sensitive\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.GetParameterDefinitions_TParameterDefinition_(string,DiGi.Core.Enums.TextComparisonType,bool).TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.TParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions that match the criteria, or null if none are found\. ## ParameterGroupCollection\.GetValue\(IParameterDefinition, GetValueSettings\) Method Gets the value associated with the specified parameter definition from the collection\. ```csharp public object? GetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition used to retrieve the value\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to customize how the value is retrieved\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified parameter definition, or null if not found\. ## ParameterGroupCollection\.GetValue\(string, GetValueSettings\) Method Gets the value associated with the specified unique identifier from the collection\. ```csharp public object? GetValue(string? uniqueId, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to retrieve\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to customize how the value is retrieved\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified unique identifier, or null if not found\. ## ParameterGroupCollection\.GetValue\\(IParameterDefinition, GetValueSettings\) Method Gets the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified parameter definition from the collection\. ```csharp public T? GetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter whose value is to be retrieved\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to control how the value is retrieved\. #### Returns [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The value associated with the specified parameter definition, cast to type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T'), or null if not found\. ## ParameterGroupCollection\.Remove\(IParameterDefinition\) Method Removes the parameter matching the specified definition from the collection\. ```csharp public bool Remove(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter to remove\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the parameter was successfully removed; otherwise, false\. ## ParameterGroupCollection\.Remove\(string\) Method Removes the parameter with the specified unique identifier from the collection\. ```csharp public bool Remove(string? uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter to remove\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the parameter was successfully removed; otherwise, false\. ## ParameterGroupCollection\.SetValue\(Parameter\) Method Adds or updates a parameter in the collection\. ```csharp public bool SetValue(DiGi.Core.Parameter.Classes.Parameter? parameter); ``` #### Parameters `parameter` [Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter') The parameter to add or update\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') `true` if the operation was successful; otherwise, `false`\. ## ParameterGroupCollection\.SetValue\(IParameterDefinition, object, SetValueSettings\) Method Sets the value for the parameter matching the specified definition within the collection\. ```csharp public bool SetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter to set\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to assign to the parameter\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings to control how the value is set\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParameterGroupCollection\.SetValue\(string, object, SetValueSettings\) Method Sets the value for the parameter identified by the specified name within the collection\. ```csharp public bool SetValue(string? name, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter to set\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to assign to the parameter\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings to control how the value is set\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParameterGroupCollection\.TryGetValue\(IParameterDefinition, object, GetValueSettings\) Method Attempts to get the value associated with the specified parameter definition from the collection\. ```csharp public bool TryGetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition associated with the value to get\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the value associated with the specified parameter definition, if found; otherwise, `null`\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') `true` if the value was found; otherwise, `false`\. ## ParameterGroupCollection\.TryGetValue\(string, object, GetValueSettings\) Method Attempts to get the value associated with the specified unique identifier from the collection\. ```csharp public bool TryGetValue(string? uniqueId, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to get\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the value associated with the specified unique identifier, if found; otherwise, `null`\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') `true` if the value was found; otherwise, `false`\. ## ParameterGroupCollection\.TryGetValue\\(IParameterDefinition, T, GetValueSettings\) Method Attempts to get the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified parameter definition from the collection\. ```csharp public bool TryGetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition associated with the value to get\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the value associated with the specified parameter definition, if found; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') `true` if the value was found; otherwise, `false`\. ## ParameterGroupCollection\.TryGetValue\\(string, T, GetValueSettings\) Method Attempts to get the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified unique identifier from the collection\. ```csharp public bool TryGetValue(string? uniqueId, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to get\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the value associated with the specified unique identifier, if found; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') `true` if the value was found; otherwise, `false`\. ## ParameterProperties Class Contains metadata and properties for a parameter definition\. ```csharp public class ParameterProperties : System.Attribute ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → ParameterProperties ### Constructors ## ParameterProperties\(string\) Constructor Initializes a new instance of the [ParameterProperties](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterProperties 'DiGi\.Core\.Parameter\.Classes\.ParameterProperties') class with a specified name\. ```csharp public ParameterProperties(string? name); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. ## ParameterProperties\(string, string\) Constructor Initializes a new instance of the [ParameterProperties](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterProperties 'DiGi\.Core\.Parameter\.Classes\.ParameterProperties') class with a unique identifier and name\. ```csharp public ParameterProperties(string? uniqueId, string? name); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier for the parameter\. `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. ## ParameterProperties\(string, string, AccessType\) Constructor Initializes a new instance of the [ParameterProperties](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterProperties 'DiGi\.Core\.Parameter\.Classes\.ParameterProperties') class with a name, description, and access type\. ```csharp public ParameterProperties(string? name, string? description, DiGi.Core.Parameter.Enums.AccessType accessType); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The description of the parameter\. `accessType` [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') The access type of the parameter\. ## ParameterProperties\(string, string, string\) Constructor Initializes a new instance of the [ParameterProperties](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterProperties 'DiGi\.Core\.Parameter\.Classes\.ParameterProperties') class with a unique identifier, name, and description\. ```csharp public ParameterProperties(string? uniqueId, string? name, string? description); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier for the parameter\. `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The description of the parameter\. ## ParameterProperties\(string, string, string, AccessType\) Constructor Initializes a new instance of the [ParameterProperties](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterProperties 'DiGi\.Core\.Parameter\.Classes\.ParameterProperties') class with a unique identifier, name, description, and access type\. ```csharp public ParameterProperties(string? uniqueId, string? name, string? description, DiGi.Core.Parameter.Enums.AccessType accessType); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier for the parameter\. `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The description of the parameter\. `accessType` [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') The access type of the parameter\. ## ParameterProperties\(string, string, string, AccessType, string\) Constructor Initializes a new instance of the [ParameterProperties](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterProperties 'DiGi\.Core\.Parameter\.Classes\.ParameterProperties') class with full metadata including group name\. ```csharp public ParameterProperties(string? uniqueId, string? name, string? description, DiGi.Core.Parameter.Enums.AccessType accessType, string? groupName); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier for the parameter\. `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. `description` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The description of the parameter\. `accessType` [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') The access type of the parameter\. `groupName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the group to which the parameter belongs\. ### Properties ## ParameterProperties\.AccessType Property Gets or sets the access level of the parameter\. ```csharp public DiGi.Core.Parameter.Enums.AccessType AccessType { get; } ``` #### Property Value [AccessType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.AccessType 'DiGi\.Core\.Parameter\.Enums\.AccessType') ## ParameterProperties\.Description Property Gets or sets the description of the parameter\. ```csharp public string? Description { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ParameterProperties\.GroupName Property Gets or sets the name of the group this parameter belongs to\. ```csharp public string? GroupName { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ParameterProperties\.Name Property Gets or sets the display name of the parameter\. ```csharp public string? Name { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ParameterProperties\.UniqueId Property Gets or sets a unique string identifier for the object\. ```csharp public string? UniqueId { get; } ``` #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## ParameterValue Class Base class for all parameter value types\. ```csharp public abstract class ParameterValue : System.Attribute, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → ParameterValue Derived ↳ [BooleanParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.BooleanParameterValue 'DiGi\.Core\.Parameter\.Classes\.BooleanParameterValue') ↳ [DoubleParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.DoubleParameterValue 'DiGi\.Core\.Parameter\.Classes\.DoubleParameterValue') ↳ [GuidParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GuidParameterValue 'DiGi\.Core\.Parameter\.Classes\.GuidParameterValue') ↳ [IntegerParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.IntegerParameterValue 'DiGi\.Core\.Parameter\.Classes\.IntegerParameterValue') ↳ [ObjectParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ObjectParameterValue 'DiGi\.Core\.Parameter\.Classes\.ObjectParameterValue') ↳ [StringParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.StringParameterValue 'DiGi\.Core\.Parameter\.Classes\.StringParameterValue') Implements [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject') ### Constructors ## ParameterValue\(\) Constructor Initializes a new instance of the [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') class\. ```csharp public ParameterValue(); ``` ## ParameterValue\(bool\) Constructor Initializes a new instance of the [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') class with specified nullability\. ```csharp public ParameterValue(bool nullable); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the parameter is nullable\. ## ParameterValue\(ParameterValue\) Constructor Initializes a new instance of the [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') class by copying an existing instance\. ```csharp public ParameterValue(DiGi.Core.Parameter.Classes.ParameterValue? parameterValue); ``` #### Parameters `parameterValue` [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') The existing [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') instance to copy\. ## ParameterValue\(JsonObject\) Constructor Initializes a new instance of the [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') class from a JSON object\. ```csharp public ParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object used to initialize the parameter value\. ### Properties ## ParameterValue\.Nullable Property Gets a value indicating whether the parameter is nullable\. ```csharp public bool Nullable { get; } ``` #### Property Value [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') ## ParameterValue\.ParameterType Property Gets the parameter type associated with this value\. ```csharp public abstract DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## ParameterValue\.Clone\(\) Method Creates a clone of the current parameter value\. ```csharp public abstract DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A new instance of [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') that is a copy of the current object, or null\. ## ParameterValue\.FromJsonObject\(JsonObject\) Method Populates the parameter value from the provided JSON object\. ```csharp public bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to extract the value from\. Implements [FromJsonObject\(JsonObject\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject.fromjsonobject#digi-core-interfaces-iserializableobject-fromjsonobject(system-text-json-nodes-jsonobject) 'DiGi\.Core\.Interfaces\.ISerializableObject\.FromJsonObject\(System\.Text\.Json\.Nodes\.JsonObject\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the population was successful; otherwise, false\. ## ParameterValue\.IsValid\(object\) Method Validates whether the given value is compatible with this parameter\. ```csharp public virtual bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is valid; otherwise, false\. ## ParameterValue\.ToJsonObject\(\) Method Converts the current parameter value to a JSON object\. ```csharp public System.Text.Json.Nodes.JsonObject? ToJsonObject(); ``` Implements [ToJsonObject\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject.tojsonobject 'DiGi\.Core\.Interfaces\.ISerializableObject\.ToJsonObject') #### Returns [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') A [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') representation of the parameter value, or null if conversion fails\. ## ParameterValue\.TryConvert\(object, object\) Method Attempts to convert an input value to the expected output type\. ```csharp public virtual bool TryConvert(object? value_In, out object? value_Out); ``` #### Parameters `value_In` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to be converted\. `value_Out` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the converted value if successful; otherwise, null\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the conversion was successful; otherwise, false\. ## ParametrizedGuidObject Class Base class for objects that possess a unique GUID and a set of parameters\. ```csharp public abstract class ParametrizedGuidObject : DiGi.Core.Parameter.Classes.ParametrizedObject, DiGi.Core.Parameter.Interfaces.IParametrizedGuidObject, DiGi.Core.Parameter.Interfaces.IParametrizedUniqueObject, DiGi.Core.Parameter.Interfaces.IParametrizedObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IUniqueIdObject, DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.IGuidObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') → ParametrizedGuidObject Implements [IParametrizedGuidObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedGuidObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedGuidObject'), [IParametrizedUniqueObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedUniqueObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedUniqueObject'), [IParametrizedObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject'), [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject'), [DiGi\.Core\.Interfaces\.IUniqueIdObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniqueidobject 'DiGi\.Core\.Interfaces\.IUniqueIdObject'), [DiGi\.Core\.Interfaces\.IUniqueObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniqueobject 'DiGi\.Core\.Interfaces\.IUniqueObject'), [DiGi\.Core\.Interfaces\.IGuidObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iguidobject 'DiGi\.Core\.Interfaces\.IGuidObject') ### Constructors ## ParametrizedGuidObject\(\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class\. ```csharp public ParametrizedGuidObject(); ``` ## ParametrizedGuidObject\(ParameterGroupCollection\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class with a specified group collection\. ```csharp public ParametrizedGuidObject(DiGi.Core.Parameter.Classes.ParameterGroupCollection? parameterGroupCollection); ``` #### Parameters `parameterGroupCollection` [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') The collection of parameter groups to initialize the object with\. ## ParametrizedGuidObject\(ParametrizedGuidObject\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class by copying another object\. ```csharp public ParametrizedGuidObject(DiGi.Core.Parameter.Classes.ParametrizedGuidObject? parametrizedGuidObject); ``` #### Parameters `parametrizedGuidObject` [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') The source object to copy\. ## ParametrizedGuidObject\(IEnumerable\\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class with a collection of parameters\. ```csharp public ParametrizedGuidObject(System.Collections.Generic.IEnumerable? parameters); ``` #### Parameters `parameters` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') The collection of parameters to initialize the object with\. ## ParametrizedGuidObject\(Guid\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class with a specified GUID\. ```csharp public ParametrizedGuidObject(System.Guid guid); ``` #### Parameters `guid` [System\.Guid](https://learn.microsoft.com/en-us/dotnet/api/system.guid 'System\.Guid') The GUID to assign to the new instance\. ## ParametrizedGuidObject\(Guid, ParametrizedGuidObject\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class with a specific GUID and data from another object\. ```csharp public ParametrizedGuidObject(System.Guid guid, DiGi.Core.Parameter.Classes.ParametrizedGuidObject? parametrizedGuidObject); ``` #### Parameters `guid` [System\.Guid](https://learn.microsoft.com/en-us/dotnet/api/system.guid 'System\.Guid') The GUID to assign to the new instance\. `parametrizedGuidObject` [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') The source object from which to copy data\. ## ParametrizedGuidObject\(JsonObject\) Constructor Initializes a new instance of the [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') class from a JSON object\. ```csharp public ParametrizedGuidObject(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to deserialize into a new instance\. ### Properties ## ParametrizedGuidObject\.Guid Property Gets the unique global identifier of the object\. ```csharp public System.Guid Guid { get; } ``` Implements [Guid](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iguidobject.guid 'DiGi\.Core\.Interfaces\.IGuidObject\.Guid') #### Property Value [System\.Guid](https://learn.microsoft.com/en-us/dotnet/api/system.guid 'System\.Guid') ## ParametrizedGuidObject\.UniqueId Property Gets or sets a unique string identifier for the object\. ```csharp public string? UniqueId { get; } ``` Implements [UniqueId](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniqueobject.uniqueid 'DiGi\.Core\.Interfaces\.IUniqueObject\.UniqueId') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ### Methods ## ParametrizedGuidObject\.Duplicate\(Nullable\\) Method Creates a duplicate of the current object, optionally with a new GUID\. ```csharp public DiGi.Core.Interfaces.IGuidObject? Duplicate(System.Nullable guid=null); ``` #### Parameters `guid` [System\.Nullable<](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.Guid](https://learn.microsoft.com/en-us/dotnet/api/system.guid 'System\.Guid')[>](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1') The optional GUID to assign to the duplicated object\. Implements [Duplicate\(Nullable<Guid>\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iguidobject.duplicate#digi-core-interfaces-iguidobject-duplicate(system-nullable{system-guid}) 'DiGi\.Core\.Interfaces\.IGuidObject\.Duplicate\(System\.Nullable\{System\.Guid\}\)') #### Returns [DiGi\.Core\.Interfaces\.IGuidObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iguidobject 'DiGi\.Core\.Interfaces\.IGuidObject') A duplicate of the current object as an [DiGi\.Core\.Interfaces\.IGuidObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iguidobject 'DiGi\.Core\.Interfaces\.IGuidObject'), or null if duplication fails\. ## ParametrizedObject Class Class ParametrizedObject\. ```csharp public class ParametrizedObject : DiGi.Core.Classes.SerializableObject, DiGi.Core.Parameter.Interfaces.IParametrizedObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → ParametrizedObject Derived ↳ [ParametrizedGuidObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedGuidObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedGuidObject') ↳ [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') Implements [IParametrizedObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject'), [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject') ### Constructors ## ParametrizedObject\(\) Constructor Initializes a new instance of the [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') class\. ```csharp public ParametrizedObject(); ``` ## ParametrizedObject\(ParameterGroupCollection\) Constructor Initializes a new instance of the [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') class using a parameter group collection\. ```csharp public ParametrizedObject(DiGi.Core.Parameter.Classes.ParameterGroupCollection? parameterGroupCollection); ``` #### Parameters `parameterGroupCollection` [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') The parameter group collection to use for initialization\. ## ParametrizedObject\(ParametrizedObject\) Constructor Initializes a new instance of the [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') class by copying another parametrized object\. ```csharp public ParametrizedObject(DiGi.Core.Parameter.Classes.ParametrizedObject? parametrizedObject); ``` #### Parameters `parametrizedObject` [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') The parametrized object to copy from\. ## ParametrizedObject\(IEnumerable\\) Constructor Initializes a new instance of the [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') class using a collection of parameters\. ```csharp public ParametrizedObject(System.Collections.Generic.IEnumerable? parameters); ``` #### Parameters `parameters` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') The collection of parameters to initialize the object with\. ## ParametrizedObject\(JsonObject\) Constructor Initializes a new instance of the [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') class from a JSON object\. ```csharp public ParametrizedObject(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize from\. ### Properties ## ParametrizedObject\.ParameterGroupCollection Property Gets the parameter group collection\. ```csharp public DiGi.Core.Parameter.Classes.ParameterGroupCollection ParameterGroupCollection { get; } ``` #### Property Value [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') ### Methods ## ParametrizedObject\.Clone\(\) Method Creates a deep copy of the parametrized object\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A new cloned instance of the parametrized object\. ## ParametrizedObject\.Contains\(IParameterDefinition\) Method Determines whether the object contains a parameter associated with the specified definition\. ```csharp public bool Contains(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition to search for\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the object contains a parameter associated with the specified definition; otherwise, false\. ## ParametrizedObject\.Contains\(string\) Method Determines whether the object contains a parameter with the specified unique identifier\. ```csharp public bool Contains(string? uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter to search for\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the object contains a parameter with the specified unique identifier; otherwise, false\. ## ParametrizedObject\.GetParameterDefinitions\(string, TextComparisonType, bool\) Method Retrieves a list of parameter definitions that match the specified name and comparison criteria\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions(string? parameterName, DiGi.Core.Enums.TextComparisonType textComparisonType=DiGi.Core.Enums.TextComparisonType.Equals, bool caseSensitive=true); ``` #### Parameters `parameterName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameters to search for\. `textComparisonType` [DiGi\.Core\.Enums\.TextComparisonType](https://learn.microsoft.com/en-us/dotnet/api/digi.core.enums.textcomparisontype 'DiGi\.Core\.Enums\.TextComparisonType') The type of text comparison to use\. `caseSensitive` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the comparison should be case\-sensitive\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions that match the specified criteria, or null if none are found\. ## ParametrizedObject\.GetParameterDefinitions\\(\) Method Retrieves all parameter definitions of type [TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetParameterDefinitions_TParameterDefinition_().TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetParameterDefinitions\\(\)\.TParameterDefinition')\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions() where TParameterDefinition : DiGi.Core.Parameter.Interfaces.IParameterDefinition; ``` #### Type parameters `TParameterDefinition` The type of the parameter definitions to retrieve\. Implements [GetParameterDefinitions<TParameterDefinition>\(\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject.GetParameterDefinitions_TParameterDefinition_() 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject\.GetParameterDefinitions\\(\)') #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetParameterDefinitions_TParameterDefinition_().TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetParameterDefinitions\\(\)\.TParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of all parameter definitions of the specified type, or null if none are found\. ## ParametrizedObject\.GetParameterDefinitions\\(string, TextComparisonType, bool\) Method Retrieves a list of parameter definitions of type [TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetParameterDefinitions_TParameterDefinition_(string,DiGi.Core.Enums.TextComparisonType,bool).TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.TParameterDefinition') that match the specified name and comparison criteria\. ```csharp public System.Collections.Generic.List? GetParameterDefinitions(string? parameterName, DiGi.Core.Enums.TextComparisonType textComparisonType=DiGi.Core.Enums.TextComparisonType.Equals, bool caseSensitive=true) where TParameterDefinition : DiGi.Core.Parameter.Interfaces.IParameterDefinition; ``` #### Type parameters `TParameterDefinition` The type of the parameter definitions to retrieve\. #### Parameters `parameterName` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameters to search for\. `textComparisonType` [DiGi\.Core\.Enums\.TextComparisonType](https://learn.microsoft.com/en-us/dotnet/api/digi.core.enums.textcomparisontype 'DiGi\.Core\.Enums\.TextComparisonType') The type of text comparison to use\. `caseSensitive` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the comparison should be case\-sensitive\. #### Returns [System\.Collections\.Generic\.List<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1')[TParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetParameterDefinitions_TParameterDefinition_(string,DiGi.Core.Enums.TextComparisonType,bool).TParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetParameterDefinitions\\(string, DiGi\.Core\.Enums\.TextComparisonType, bool\)\.TParameterDefinition')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1 'System\.Collections\.Generic\.List\`1') A list of parameter definitions that match the specified criteria, or null if none are found\. ## ParametrizedObject\.GetValue\(IParameterDefinition, GetValueSettings\) Method Gets the value associated with the specified parameter definition\. ```csharp public object? GetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition for which to retrieve the value\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified parameter definition, or null if not found\. ## ParametrizedObject\.GetValue\(string, GetValueSettings\) Method Gets the value associated with the specified unique identifier\. ```csharp public object? GetValue(string? uniqueId, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to retrieve\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified unique identifier, or null if not found\. ## ParametrizedObject\.GetValue\(Enum, GetValueSettings\) Method Gets the value associated with the specified enumeration member\. ```csharp public object? GetValue(System.Enum? @enum, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enumeration member associated with the value\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value associated with the specified enumeration member, or null if not found\. ## ParametrizedObject\.GetValue\\(IParameterDefinition, GetValueSettings\) Method Gets the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified parameter definition\. ```csharp public T? GetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter whose value is to be retrieved\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The value associated with the specified parameter definition, or null if not found\. ## ParametrizedObject\.GetValue\\(Enum, GetValueSettings\) Method Gets the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetValue_T_(System.Enum,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetValue\\(System\.Enum, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified enumeration member\. ```csharp public T? GetValue(System.Enum? @enum, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enumeration member associated with the value\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.GetValue_T_(System.Enum,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.GetValue\\(System\.Enum, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') The value associated with the specified enumeration member, or null if not found\. ## ParametrizedObject\.Remove\(IParameterDefinition\) Method Removes the parameter associated with the specified definition\. ```csharp public bool Remove(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The definition of the parameter to remove\. Implements [Remove\(IParameterDefinition\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject.Remove(DiGi.Core.Parameter.Interfaces.IParameterDefinition) 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject\.Remove\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the parameter was successfully removed; otherwise, false\. ## ParametrizedObject\.Remove\(string\) Method Removes the parameter associated with the specified unique identifier\. ```csharp public bool Remove(string? uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the parameter to remove\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the parameter was successfully removed; otherwise, false\. ## ParametrizedObject\.SetValue\(Parameter\) Method Sets the value using the provided parameter object\. ```csharp public bool SetValue(DiGi.Core.Parameter.Classes.Parameter? parameter); ``` #### Parameters `parameter` [Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter') The parameter object containing the value to set\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParametrizedObject\.SetValue\(IParameterDefinition, object, SetValueSettings\) Method Sets the value for the specified parameter definition\. ```csharp public bool SetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to set\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings for setting the value\. Implements [SetValue\(IParameterDefinition, object, SetValueSettings\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject.SetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition,object,DiGi.Core.Parameter.Classes.SetValueSettings) 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject\.SetValue\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, object, DiGi\.Core\.Parameter\.Classes\.SetValueSettings\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParametrizedObject\.SetValue\(string, object, SetValueSettings\) Method Sets the value for the parameter with the specified name\. ```csharp public bool SetValue(string? name, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to set\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings for setting the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParametrizedObject\.SetValue\(Enum, object, SetValueSettings\) Method Sets the value for the specified enumeration member\. ```csharp public bool SetValue(System.Enum? @enum, object? value, DiGi.Core.Parameter.Classes.SetValueSettings? setValueSettings=null); ``` #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enumeration member\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to set\. `setValueSettings` [SetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SetValueSettings 'DiGi\.Core\.Parameter\.Classes\.SetValueSettings') Optional settings for setting the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully set; otherwise, false\. ## ParametrizedObject\.TryGetValue\(IParameterDefinition, object, GetValueSettings\) Method Attempts to retrieve the value associated with the specified parameter definition\. ```csharp public bool TryGetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition associated with the value\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the retrieved value if successful; otherwise, null\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParametrizedObject\.TryGetValue\(string, object, GetValueSettings\) Method Attempts to retrieve the value associated with the specified unique identifier\. ```csharp public bool TryGetValue(string? uniqueId, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier of the value to retrieve\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the retrieved value if successful; otherwise, null\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings for retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParametrizedObject\.TryGetValue\(Enum, object, GetValueSettings\) Method Attempts to retrieve the value associated with the specified enumeration member\. ```csharp public bool TryGetValue(System.Enum? @enum, out object? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enumeration member associated with the value\. `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') When this method returns, contains the retrieved value if successful; otherwise, null\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParametrizedObject\.TryGetValue\\(IParameterDefinition, T, GetValueSettings\) Method Attempts to retrieve the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified parameter definition\. ```csharp public bool TryGetValue(DiGi.Core.Parameter.Interfaces.IParameterDefinition? parameterDefinition, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `parameterDefinition` [IParameterDefinition](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition') The parameter definition associated with the value\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the retrieved value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') if successful; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. Implements [TryGetValue<T>\(IParameterDefinition, T, GetValueSettings\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject.TryGetValue_T_(DiGi.Core.Parameter.Interfaces.IParameterDefinition,T,DiGi.Core.Parameter.Classes.GetValueSettings) 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject\.TryGetValue\\(DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParametrizedObject\.TryGetValue\\(string, T, GetValueSettings\) Method Attempts to retrieve the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified unique identifier\. ```csharp public bool TryGetValue(string? uniqueId, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier for the value\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the retrieved value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') if successful; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(string,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(string, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParametrizedObject\.TryGetValue\\(Enum, T, GetValueSettings\) Method Attempts to retrieve the value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(System.Enum,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(System\.Enum, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') associated with the specified enumeration member\. ```csharp public bool TryGetValue(System.Enum? @enum, out T? value, DiGi.Core.Parameter.Classes.GetValueSettings? getValueSettings=null); ``` #### Type parameters `T` The type of the value to retrieve\. #### Parameters `enum` [System\.Enum](https://learn.microsoft.com/en-us/dotnet/api/system.enum 'System\.Enum') The enumeration member associated with the value\. `value` [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(System.Enum,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(System\.Enum, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') When this method returns, contains the retrieved value of type [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(System.Enum,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(System\.Enum, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T') if successful; otherwise, the default value of [T](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject.TryGetValue_T_(System.Enum,T,DiGi.Core.Parameter.Classes.GetValueSettings).T 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject\.TryGetValue\\(System\.Enum, T, DiGi\.Core\.Parameter\.Classes\.GetValueSettings\)\.T')\. `getValueSettings` [GetValueSettings](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.GetValueSettings 'DiGi\.Core\.Parameter\.Classes\.GetValueSettings') Optional settings to use when retrieving the value\. #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value was successfully retrieved; otherwise, false\. ## ParametrizedUniqueIdObject Class Represents an abstract base class for objects that possess both a set of parameters and a unique identifier\. ```csharp public abstract class ParametrizedUniqueIdObject : DiGi.Core.Parameter.Classes.ParametrizedObject, DiGi.Core.Parameter.Interfaces.IParametrizedUniqueIdObject, DiGi.Core.Parameter.Interfaces.IParametrizedUniqueObject, DiGi.Core.Parameter.Interfaces.IParametrizedObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IUniqueIdObject, DiGi.Core.Interfaces.IUniqueObject ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [ParametrizedObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedObject') → ParametrizedUniqueIdObject Implements [IParametrizedUniqueIdObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedUniqueIdObject'), [IParametrizedUniqueObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedUniqueObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedUniqueObject'), [IParametrizedObject](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParametrizedObject 'DiGi\.Core\.Parameter\.Interfaces\.IParametrizedObject'), [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject'), [DiGi\.Core\.Interfaces\.ICloneableObject<](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1')[DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject')[>](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1 'DiGi\.Core\.Interfaces\.ICloneableObject\`1'), [DiGi\.Core\.Interfaces\.ICloneableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject 'DiGi\.Core\.Interfaces\.ICloneableObject'), [DiGi\.Core\.Interfaces\.IObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iobject 'DiGi\.Core\.Interfaces\.IObject'), [DiGi\.Core\.Interfaces\.IUniqueIdObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniqueidobject 'DiGi\.Core\.Interfaces\.IUniqueIdObject'), [DiGi\.Core\.Interfaces\.IUniqueObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniqueobject 'DiGi\.Core\.Interfaces\.IUniqueObject') ### Constructors ## ParametrizedUniqueIdObject\(\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class\. ```csharp public ParametrizedUniqueIdObject(); ``` ## ParametrizedUniqueIdObject\(ParameterGroupCollection\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class using a parameter group collection\. ```csharp public ParametrizedUniqueIdObject(DiGi.Core.Parameter.Classes.ParameterGroupCollection? parameterGroupCollection); ``` #### Parameters `parameterGroupCollection` [ParameterGroupCollection](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterGroupCollection 'DiGi\.Core\.Parameter\.Classes\.ParameterGroupCollection') The parameter group collection to use for initialization\. ## ParametrizedUniqueIdObject\(ParametrizedUniqueIdObject\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class by copying another unique ID parametrized object\. ```csharp public ParametrizedUniqueIdObject(DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject? parametrizedUniqueIdObject); ``` #### Parameters `parametrizedUniqueIdObject` [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') The parametrized unique ID object to copy\. ## ParametrizedUniqueIdObject\(string\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class with a specified unique identifier\. ```csharp public ParametrizedUniqueIdObject(string? uniqueId); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier\. ## ParametrizedUniqueIdObject\(string, ParametrizedUniqueIdObject\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class with a specific ID and values from another object\. ```csharp public ParametrizedUniqueIdObject(string? uniqueId, DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject? parametrizedUniqueIdObject); ``` #### Parameters `uniqueId` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The unique identifier\. `parametrizedUniqueIdObject` [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') The parametrized unique ID object to copy values from\. ## ParametrizedUniqueIdObject\(IEnumerable\\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class using a collection of parameters\. ```csharp public ParametrizedUniqueIdObject(System.Collections.Generic.IEnumerable? parameters); ``` #### Parameters `parameters` [System\.Collections\.Generic\.IEnumerable<](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[Parameter](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.Parameter 'DiGi\.Core\.Parameter\.Classes\.Parameter')[>](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1') The collection of parameters to use for initialization\. ## ParametrizedUniqueIdObject\(JsonObject\) Constructor Initializes a new instance of the [ParametrizedUniqueIdObject](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParametrizedUniqueIdObject 'DiGi\.Core\.Parameter\.Classes\.ParametrizedUniqueIdObject') class from a JSON object\. ```csharp public ParametrizedUniqueIdObject(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize from\. ### Properties ## ParametrizedUniqueIdObject\.UniqueId Property Gets or sets the unique identifier for this object\. ```csharp public string? UniqueId { get; } ``` Implements [UniqueId](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iuniqueobject.uniqueid 'DiGi\.Core\.Interfaces\.IUniqueObject\.UniqueId') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## SetValueSettings Class Contains settings for setting a parameter value\. ```csharp public class SetValueSettings ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → SetValueSettings ### Constructors ## SetValueSettings\(\) Constructor Initializes a new instance of the SetValueSettings class\. ```csharp public SetValueSettings(); ``` ## SetValueSettings\(bool, bool\) Constructor Initializes a new instance of the SetValueSettings class with specified options\. ```csharp public SetValueSettings(bool tryConvert, bool checkAccessType); ``` #### Parameters `tryConvert` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Whether to attempt conversion if types do not match\. `checkAccessType` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') Whether to check for write access permissions\. ### Properties ## SetValueSettings\.CheckAccessType Property Gets or sets a value indicating whether the access type should be checked during assignment\. ```csharp public bool CheckAccessType { get; set; } ``` #### Property Value [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') ## SetValueSettings\.TryConvert Property Gets or sets a value indicating whether to attempt conversion of the value during assignment\. ```csharp public bool TryConvert { get; set; } ``` #### Property Value [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') ## SimpleParameterDefinition Class Represents a definition for a simple parameter\. ```csharp public class SimpleParameterDefinition : DiGi.Core.Parameter.Classes.ParameterDefinition ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [DiGi\.Core\.Classes\.Object](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.object 'DiGi\.Core\.Classes\.Object') → [DiGi\.Core\.Classes\.SerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.classes.serializableobject 'DiGi\.Core\.Classes\.SerializableObject') → [ParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.ParameterDefinition') → SimpleParameterDefinition ### Constructors ## SimpleParameterDefinition\(SimpleParameterDefinition\) Constructor Initializes a new instance of the [SimpleParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SimpleParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.SimpleParameterDefinition') class by copying an existing definition\. ```csharp public SimpleParameterDefinition(DiGi.Core.Parameter.Classes.SimpleParameterDefinition? simpleParameterDefinition); ``` #### Parameters `simpleParameterDefinition` [SimpleParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SimpleParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.SimpleParameterDefinition') The parameter definition to copy from\. ## SimpleParameterDefinition\(string\) Constructor Initializes a new instance of the [SimpleParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SimpleParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.SimpleParameterDefinition') class with the specified name\. ```csharp public SimpleParameterDefinition(string? name); ``` #### Parameters `name` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') The name of the parameter\. ## SimpleParameterDefinition\(JsonObject\) Constructor Initializes a new instance of the [SimpleParameterDefinition](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.SimpleParameterDefinition 'DiGi\.Core\.Parameter\.Classes\.SimpleParameterDefinition') class from a JSON object\. ```csharp public SimpleParameterDefinition(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize the definition from\. ### Properties ## SimpleParameterDefinition\.GroupName Property Gets the name of the group to which this parameter belongs\. ```csharp public override string GroupName { get; } ``` Implements [GroupName](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.GroupName 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.GroupName') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## SimpleParameterDefinition\.Name Property Gets or sets the name of the parameter\. ```csharp public override string? Name { get; } ``` Implements [Name](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.inamedobject.name 'DiGi\.Core\.Interfaces\.INamedObject\.Name') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ## SimpleParameterDefinition\.ParameterType Property Gets the type of the parameter\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` Implements [ParameterType](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.ParameterType 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.ParameterType') #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ## SimpleParameterDefinition\.UniqueId Property Gets or sets the unique identifier for the parameter\. ```csharp public override string? UniqueId { get; } ``` Implements [UniqueId](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.UniqueId 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.UniqueId') #### Property Value [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') ### Methods ## SimpleParameterDefinition\.IsValid\(object\) Method Determines whether the specified value is a valid integer parameter value\. ```csharp public override bool IsValid(object? value); ``` #### Parameters `value` [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') The value to validate\. Implements [IsValid\(object\)](DiGi.Core.Parameter.Interfaces.md#DiGi.Core.Parameter.Interfaces.IParameterDefinition.IsValid(object) 'DiGi\.Core\.Parameter\.Interfaces\.IParameterDefinition\.IsValid\(object\)') #### Returns [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') True if the value is a valid integer parameter value; otherwise, false\. ## StringParameterValue Class Represents a parameter value that holds a string\. ```csharp public class StringParameterValue : DiGi.Core.Parameter.Classes.ParameterValue ``` Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [System\.Attribute](https://learn.microsoft.com/en-us/dotnet/api/system.attribute 'System\.Attribute') → [ParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.ParameterValue 'DiGi\.Core\.Parameter\.Classes\.ParameterValue') → StringParameterValue ### Constructors ## StringParameterValue\(\) Constructor Initializes a new instance of the [StringParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.StringParameterValue 'DiGi\.Core\.Parameter\.Classes\.StringParameterValue') class\. ```csharp public StringParameterValue(); ``` ## StringParameterValue\(bool\) Constructor Initializes a new instance of the [StringParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.StringParameterValue 'DiGi\.Core\.Parameter\.Classes\.StringParameterValue') class with specified nullability\. ```csharp public StringParameterValue(bool nullable); ``` #### Parameters `nullable` [System\.Boolean](https://learn.microsoft.com/en-us/dotnet/api/system.boolean 'System\.Boolean') A value indicating whether the parameter is nullable\. ## StringParameterValue\(StringParameterValue\) Constructor Initializes a new instance of the [StringParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.StringParameterValue 'DiGi\.Core\.Parameter\.Classes\.StringParameterValue') class by copying an existing instance\. ```csharp public StringParameterValue(DiGi.Core.Parameter.Classes.StringParameterValue? stringParameterValue); ``` #### Parameters `stringParameterValue` [StringParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.StringParameterValue 'DiGi\.Core\.Parameter\.Classes\.StringParameterValue') The existing instance to copy\. ## StringParameterValue\(JsonObject\) Constructor Initializes a new instance of the [StringParameterValue](DiGi.Core.Parameter.Classes.md#DiGi.Core.Parameter.Classes.StringParameterValue 'DiGi\.Core\.Parameter\.Classes\.StringParameterValue') class from a JSON object\. ```csharp public StringParameterValue(System.Text.Json.Nodes.JsonObject? jsonObject); ``` #### Parameters `jsonObject` [System\.Text\.Json\.Nodes\.JsonObject](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonobject 'System\.Text\.Json\.Nodes\.JsonObject') The JSON object to initialize from\. ### Properties ## StringParameterValue\.ParameterType Property Gets the parameter type associated with this string parameter value\. ```csharp public override DiGi.Core.Parameter.Enums.ParameterType ParameterType { get; } ``` #### Property Value [ParameterType](DiGi.Core.Parameter.Enums.md#DiGi.Core.Parameter.Enums.ParameterType 'DiGi\.Core\.Parameter\.Enums\.ParameterType') ### Methods ## StringParameterValue\.Clone\(\) Method Creates a clone of the current string parameter value\. ```csharp public override DiGi.Core.Interfaces.ISerializableObject? Clone(); ``` Implements [Clone\(\)](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.icloneableobject-1.clone 'DiGi\.Core\.Interfaces\.ICloneableObject\`1\.Clone') #### Returns [DiGi\.Core\.Interfaces\.ISerializableObject](https://learn.microsoft.com/en-us/dotnet/api/digi.core.interfaces.iserializableobject 'DiGi\.Core\.Interfaces\.ISerializableObject') A clone of the current string parameter value\.