Linter/formatter pass across the full codebase. Restores required partial keyword on AXAML code-behind classes that the formatter incorrectly removed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
namespace ZB.MOM.WW.LmxOpcUa.Client.Shared.Helpers;
|
|
|
|
/// <summary>
|
|
/// Converts raw string values into typed values based on the current value's runtime type.
|
|
/// Ported from the CLI tool's OpcUaHelper.ConvertValue.
|
|
/// </summary>
|
|
public static class ValueConverter
|
|
{
|
|
/// <summary>
|
|
/// Converts a raw string value into the runtime type expected by the target node.
|
|
/// </summary>
|
|
/// <param name="rawValue">The raw string supplied by the user.</param>
|
|
/// <param name="currentValue">The current node value used to infer the target type. May be null.</param>
|
|
/// <returns>A typed value suitable for an OPC UA write request.</returns>
|
|
public static object ConvertValue(string rawValue, object? currentValue)
|
|
{
|
|
return currentValue switch
|
|
{
|
|
bool => bool.Parse(rawValue),
|
|
byte => byte.Parse(rawValue),
|
|
short => short.Parse(rawValue),
|
|
ushort => ushort.Parse(rawValue),
|
|
int => int.Parse(rawValue),
|
|
uint => uint.Parse(rawValue),
|
|
long => long.Parse(rawValue),
|
|
ulong => ulong.Parse(rawValue),
|
|
float => float.Parse(rawValue),
|
|
double => double.Parse(rawValue),
|
|
_ => rawValue
|
|
};
|
|
}
|
|
} |