Craig's Utility Library 3.4

Rating: No reviews yet
Downloads: 3162
Change Set: f313a3a0be24
Released: Jul 13, 2013
Updated: Jul 14, 2013 by JaCraig
Dev status: Stable Help Icon

Recommended Download

Application Utilities.zip
application, 10097K, uploaded Jul 14, 2013 - 3162 downloads

Release Notes

This update contains a number of changes that will require some rework of code. Many extensions were renamed, combined, moved, or removed. This is also most likely the last update in the 3.* line. I've been playing with Roslyn and dynamic objects and have come up with some cool test code. However it will require a rewrite and will thus be 4.0 when it comes out. Also this contains only the documentation (which is now available through Nuget) and full version DLL. All other versions, use Nuget.

Changes:
  • Switched to using Code Contracts for most data checking.
  • Added documentation nuget package. Also removed some dead files.
  • Updated micro ORM mapping code so that multiple instances of a database name can not be added.
  • Switched out a lot of the reflection names, dropped get and set from them (ex: getproperty/setproperty is just property), CallMethod is now just Call, etc.
  • A number of reflection oriented extensions that exported info for the assembly, type, etc. were renamed to ToString.
  • IsOfType is now just Is.
  • IsIEnumerable has been removed.
  • Removed ToSQLDbType,ToDbType, and ToType as they are no longer needed.
  • Switched To to use the new conversion code.
  • Removed ToBool and ToInt.
  • ToBase64String and ToEncodedString extensions for byte arrays renamed to ToString.
  • Combined a number of Is* items on char to simply Is function.
  • Had to move reflection extensions over to DataTypes... Not happy about this.
  • Added new data conversion code system.
  • Renamed TryTo<> to To<>
  • Combined ToFirstCharacterUpperCase,ToSentenceCapitalize, and ToTitleCase into ToString.
  • Renamed ToExpando to To<>
  • FormatString and FormatRegex have been renamed ToString.
  • Added Replace extension (basically just wraps Regex.Replace for the enum filters).
  • Updated DateTime extensions (FromUnixTime is now just To, RelativeTime is now just ToString)
  • Started updating string extensions (AlphaCharactersOnly, AlphaCharactersOnly, and NumericCharactersOnly have been combined into Keep. FilterOutText is now Remove. Is* functions have been combined into Is extension).
  • Modified NullCheck (now just Check) and Is* functions reduced to Is.
  • Added ToList, ThrowIfAny, and ThrowIfAll extension for IEnumerables
  • Many enhancements added to file formats
  • Add SafeDisposableBaseClass.
  • Removed Vector and List as I wasn't really using either item in however many years.
  • Renamed Combine extension method to Concat for arrays.
  • Added Concat extension for IEnumerables
  • Removed TrueForAll, TrueForAny,FalseForAll,FalseForAny,First,Throw* extensions for IEnumerable as they either duplicated Linq extensions or Needed to be combined.
  • TryAll* were combined with For* and ForEach* extensions in IEnumerable
  • RemoveDefaults extension was changed to Remove taking a predicate to decide what to remove.
  • Added EnumerateFiles extension for DirectoryInfo that will accept multiple search patterns. (Utilities.IO.ExtensionMethods)

Fixes:
  • Fixed issue with caching and also fixed Execute so that it converts DBNull values to just null.
  • Fixed namespace for Cisco classes. Should have been in FileFormats...
  • Fixed a couple issues with validation if the object is null.
  • Fixed issue with Table if the names contain duplicates.
  • Fixed issue with GetPropertyGetter if dealing with interfaces.
  • Fixed a couple of Streams where Close was being called when it wasn't necessary.
  • Fixed a couple naming and type issues to make most of the library CLS compliant (parts that aren't are marked as such).
  • Fixed Google static maps.
  • Fixed TaskQueue so that it doesn't limit the size of the queue itself.

Reviews for this release

No reviews yet for this release.