pelazem.util: a C# utility library with build targets for .NET 8.0.
- Class/Base.cs: a simple abstract base class which implements a property change notification pattern. Includes a toggle to fire events (useful to turn off in certain bulk scenarios) and a semaphore whether the object is in a property changed state.
- Configuration/ConfigUtil.cs: implements configuration build with optional JSON settings file and environment variables.
- Extension/CollectionExtensionMethods.cs: extension methods for ICollection, IEnumerable, IDictionary<TKey, TValue>. Add items in bulk; get list as a delimited string with specified delimiter and other capabilities.
- Extension/EncodingExtensionMethods.cs: extension methods for System.Text.Encoding to base64 encode/decode.
- Extension/ReflectionExtensionMethods.cs: extension methods for System.Reflection.PropertyInfo to get or set property values through reflection.
- Constants.cs: a few common string format codes.
- Converter.cs: yet another safe type converter. Includes string to Timespan converter that includes some error checking and other smarts.
- ErrorUtil.cs: utility methods to prettify Exception messages into strings suitable for display or external storage.
- OpResult.cs: a result class to return rich result data from methods in a standard, non-ref way.
- TypeUtil.cs: type and reflection utility methods, including checks whether a PropertyInfo or Type is numeric or primitive, getting type aliases, reflecting over a type to get its properties (all or just primitive or complex), ref type value comparisons.
- ValidationResult.cs: helper for classes which need to track whether their properties are in a valid state, and quickly getting validity status.
3. I am not representing my employer with any files, code, or other assets here, and my employer assumes no liability whatsoever for any use of these files, code, or assets.
4. DO NOT USE ANY ASSET HERE IN A PRODUCTION ENVIRONMENT WITHOUT APPROPRIATE REVIEWS, TESTS, and APPROVALS IN YOUR ENVIRONMENT.
SonarCloud Using: https://github.com/marketplace/actions/sonarcloud-scan Project: https://sonarcloud.io/project/overview?id=plzm_pelazem.util
Whitesource
Using: https://www.whitesourcesoftware.com/repo-integration/
GHA Linter
Using: https://github.com/marketplace/actions/github-actions-linting
Repo: https://github.com/cfy9/action-linting
Codecov.io
Using: https://github.com/marketplace/actions/codecov
Repo: https://github.com/codecov/codecov-action
Codefactor Using: https://github.com/marketplace/codefactor
Publish Nuget
Using: https://github.com/marketplace/actions/publish-nuget-alirezanet
Repo: https://github.com/alirezanet/publish-nuget/
NOTE: for Publish Nuget to also set a repo tag, you must update repo Settings-Actions-General-Workflow permissions to permit github runner bot to git push (tag) to repo.