Releases: codingseb/ExpressionEvaluator
Releases · codingseb/ExpressionEvaluator
1.4.0.0
Warning some breaking changes in the on the fly variables and function evaluations.
Deep changes to allow more customization
- Custom operators or custom expression parsing with inheritance (See #27 thanks to @kasajian and Advanced Customization and Hacking)
- Manage
<>
in on the fly evaluations to evaluate generic types - 2 additional on the fly evaluation (Preevaluation thanks to @lholbert see #35 and On the fly variables and functions evaluation)
- optionally use
var
before variable assignation (For better copy paste with C# code) - option to globally cache namespaces and types resolution (to speed up multiple evaluation)
- Correction of Array/collection indexing when using OptionForceIntegernumbersEvaluationsAsDoubleDyDefault=true
- Some other corrections and refactorings
1.3.7.0
- Initialization of ExpandoObjects
- Create Anonymous (as ExpandoObjects)
anonymous = new { x = 15, y = variable }
- Better management of struct assignation (Thanks to @AttilaSzobonya for his help see #32)
- Less memory impact when compare string ignoring case
- Correction of some bugs when using OptionForceIntegerNumbersEvaluationsAsDoubleByDefault = true (Thanks to @mcicognani see #33)
1.3.6.0
1.3.5.0
- Add OptionForceIntegerNumbersEvaluationsAsDoubleByDefault (if true
1/2 = 0.5
otherwise1/2 = 0
) (Thanks to @Smartis2812 See Issue #25 and the doc here ) - Correction of a conflict between <> operators and <> used for generics (Thanks to @kasajian for reporting the bug #26)
- Correction of a bug when imbricate different brackets with comma separators
1.3.4.0
- Support
++
and--
as prefix operators - Support
~
as bitwise complement operator - Support of the
sizeof
keyword - Add hexadecimal and binary notations for int values with
0x
and0b
prefixes - Add the
_
(underscore) as digit separator in numbers (all notations) - Add the following options to have a culture dependent way to evaluate numbers (thanks to @Vertygo for his ideas)(#22)
- Some memory management and performance improvement (thanks to @PhenX for his help)
- Some bugs corrections
1.3.3.0
Main improvements
- Support <> syntax for specify types of generics
- Support of creation initializers for collections, dictionnaries and objects
Here a few examples of what this version allow to do :
new List<string>() { "text1", "text2" }
new Dictionnary<string, int> { {"seven", 7}, {"nine", 9}}
new Dictionnary<string, int> { ["seven"]= 7, ["nine"] = 9}
new MyObject() { MyStringProperty = "A value", MyIntProperty = 8}
Other changes
- Add ListOfType Standard function
- A reference on the current evaluator added in VariableEvaluationEventArg and FunctionEvaluationEventArg
- Small improvement of the Indexing []
1.3.2.0
1.3.1.0
1.3.0.0
1.2.2.0
- ExpandoObjects
- try catch finally
- throw
- Code with diactitics (thanks to LuanDevecchi)