Version 1.3.0.0
TcHmiSrvExtNet.Core version 1.3.0.0 was released on July 13, 2021.
New features in this release
- The following constructor, method and properties were added to
class TcHmiSrv.Core.Value to increase the performance of creating a
fixed-size collection of TcHmiSrv.Core.Values:
-
Remarks:
Creating a System.Array and setting its elements is faster than creating a System.Collections.Generic.List.T. and adding the same number of elements to it, even if you set List.T..Capacity to the total number of elements. This is because System.Collections.Generic.List.T. is a wrapper around System.Array, which makes it about 5% slower for this scenario. Therefore, if you need to create a fixed-sized collection of TcHmiSrv.Core.Values, you can now use a System.Array instead of a System.Collections.Generic.List.T. to increase performance. Please also note the Performance Considerations and Remarks about the limited modifiability of System.Arrays when choosing between System.Array and System.Collections.Generic.List.T.. - Constructor JsonSchemaValue.JsonSchemaValue(Value, Boolean) was added to allow creating a TcHmiSrv.Core.Tools.DynamicSymbols.JsonSchemaValue from a TcHmiSrv.Core.Value containing JSON schema definitions.
- Method DynamicSymbolsProvider.HandleCommand(Command) was added and method DynamicSymbolsProvider.HandleCommands(CommandGroup) was marked as virtual to allow customized handling of TcHmiSrv.Core.Commands in a TcHmiSrv.Core.CommandGroup by overriding it.
- Method DynamicSymbolsProvider.HandleException(Command, Exception) was added to allow
customized handling of System.Exceptions by overriding it and enabling it in one of
these newly added constructors:
-
DynamicSymbolsProvider.DynamicSymbolsProvider(IEnumerable.KeyValuePair.String, Symbol.., IComparer.String., Boolean)
-
DynamicSymbolsProvider.DynamicSymbolsProvider(IEnumerable.KeyValuePair.String, Symbol.., Boolean)
-
DynamicSymbolsProvider.DynamicSymbolsProvider(Boolean)
-
SortedDynamicSymbolsProvider.SortedDynamicSymbolsProvider(IEnumerable.KeyValuePair.String, Symbol.., IComparer.String., Boolean)
-
SortedDynamicSymbolsProvider.SortedDynamicSymbolsProvider(IEnumerable.KeyValuePair.String, Symbol.., Boolean)
- DynamicSymbolsProvider.HandleException(Command, Exception) is not overridden, it throws an exception of newly added type TcHmiSrv.Core.Tools.DynamicSymbols.DynamicSymbolException.
- JSON schemas that contain allOf, anyOf, oneOf or not can be resolved by TcHmiSrv.Core.Tools.DynamicSymbols.DynamicSymbolsProvider.