Skip to content

Releases: KeRNeLith/ImmediateReflection

2.0.0

04 Sep 22:57
Compare
Choose a tag to compare

Version 2.0.0

Updates:

  • Update some serialization implementations for ImmediateReflection core types.
  • Dynamic methods generated by ImmediateReflection always use the ImmediateReflection module.

Misc:

  • Get rid of targets anterior to .NET Framework 4.0.
  • Add target .NET Standard 2.1 to simplify dependency tree when used.
  • Assembly is CLS compliant (Common Language Specification).

1.6.1

04 Sep 22:46
Compare
Choose a tag to compare

Version 1.6.1

Fixes:

  • Fix wrong generated IL code for copy constructor under .NET5+ target.

1.6.0

02 Sep 18:32
Compare
Choose a tag to compare

Version 1.6.0

Fixes:

  • ImmediateType properly handle type having redefined properties with a type different from initial type.

New:

  • Use signing key to strong name library assemby.

Misc:

  • JetBrains.Annotations are embedded in the assembly (internal).

1.5.0

23 Jan 09:56
Compare
Choose a tag to compare

Version 1.5.0

Fixes:

  • IsDefined/GetAttribute(s) properly handle get of attribute when dealing inheriting attributes.

New:

  • All ImmediateReflection types are serializable via C# standard serialization.

Misc:

  • JetBrains.Annotations are no more embedded in the assembly, replaced by a private reference to official NuGet.
  • Minor optimization.

1.4.1

02 Sep 22:07
Compare
Choose a tag to compare

Version 1.4.1

Fixes:

  • Properly handle null parameter for Copy and TryCopy (return null).

Updates:

  • Copy and TryCopy consider string and Type as copyable types and return themselves if asked.

1.4.0

01 Sep 13:16
Compare
Choose a tag to compare

Version 1.4.0

New:

  • Add an access to the Declaring Type directly through ImmediateType, ImmediateProperty and ImmediateField.
  • Add an access to the Base Type directly through ImmediateType.
  • Add CopyConstructorDelegate delegate.
  • Add the possibility to call Copy constructor in a faster way than Activator from ImmediateType.
  • Add a type extension to check if a type has a default constructor.
  • Add type extensions to check if a type has a copy constructor and to directly call it.
  • Add object extensions to check if an instance can be copied by a copy constructor and to directly call it.

Updates:

  • Globally optimize the library by reducing the number of redundant null checks.
  • Slightly optimize the branching in generated code.

1.3.0

23 Jul 08:44
Compare
Choose a tag to compare

Version 1.3.0

New:

  • Add type extensions to directly call a default constructor delegate from a Type (without ImmediateType).
  • Add type extensions to directly call a constructor delegate from a Type (without ImmediateType).

Fixes:

  • ImmediateType properly handle arrays which were crashing before.

Updates:

  • Default constructor delegates available via ImmediateType are now cached and shared across several instance of ImmediateType.
  • ImmediateProperty are now cached and shared across several instance of ImmediateType.
  • ImmediateField are now cached and shared across several instance of ImmediateType.

1.2.0

18 Jul 21:36
Compare
Choose a tag to compare

Version 1.2.0

New:

  • Add ConstructorDelegate delegate.

Fixes:

  • Classes with indexed properties does not crash anymore.

Updates:

  • Lazily initialize fields property of ImmediateType.

1.1.0

24 Jun 22:00
Compare
Choose a tag to compare

Version 1.1.0

Updates:

  • Improve performances of memory caching within the library.
  • Extend support of built-in cache to every target.
  • Make some methods only available as extensions accessible as normal methods on targets not supporting extensions.
  • IL generated methods are now prefixed to help identify them.

Misc:

  • API Reference and documentation generated based on sources.

1.0.0

31 May 20:46
Compare
Choose a tag to compare

Version 1.0.0

Fixes:

  • Properly supports static readonly and constant fields.
  • Properly handle reflection on enumeration types.

Updates:

  • Default flags taken into account when getting an ImmediateType are Public | Instance | Static
  • Get rid of cache system references replaced by a simpler internal caching system.
  • Extend caching support to target .NET Framework 4.0.

New:

  • Add the possibility to call the default constructor of type in a faster way (with or without throw).
  • ImmediateType provides access to every members via Members/GetMembers()/indexed member APIs.
  • ImmediateType, ImmediateField and ImmediateProperty provide a faster access to attributes.
  • Extensions to retrieve Immediate Reflection types from standard types.
  • Extensions to retrieve attributes from standard MemberInfo.
  • Provide helpers to easily create strongly typed delegate to get/set properties.
  • Add an object wrapper that allows to get/set value on a specific object instance.

Misc:

  • Improve library documentation.
  • Library is fully ReSharper annotated.