SequelPay.DotNetPowerExtensions.Reflection

Extensions to DotNet, mostly using attributes


Keywords
Extensions, Reflection
Install
Install-Package SequelPay.DotNetPowerExtensions.Reflection -Version 5.0.0-beta3

Documentation


Dot Net Power Extensions

A set of extensions classes, helpers and methods, that extend and simplify the capabilities of the .Net framework.

Main Packages

As of version 5.0. the set of packages produced by this repository have been consolidated again. The following table summarizes this information:

NuGet Package Name Version Summary
SequelPay.DotNetPowerExtensions NuGet Version Primary package for this repo, comprised of all smaller packages. Includs basic additions and extensions to the core .Net frameworks. read more.
SequelPay.DotNetPowerExtensions.Reflection NuGet Extensions and helpers for .Net Reflection, as well as the TypeDetailInfo system which simplifies many aspects of reflection. Read more.
SequelPay.DotNetPowerExtensions.RoslynExtensions NuGet Extensions and helpers for the .Net Roslyn framework.

Individual Packages

All of these packages areautomatically installed with the main SequelPay.DotNetPowerExtensions package.

They can however be installed individually instead.

NuGet Package Name Version Summary
SequelPay.DotNetPowerExtensions.EnumerableExtensions NuGet Version Helper extension methods for IEnumerable.
SequelPay.DotNetPowerExtensions.StringExtensions NuGet Version Helper methods for C# strings.
SequelPay.DotNetPowerExtensions.Union NuGet A Union type for .Net. see features, demos and examples.
SequelPay.DotNetPowerExtensions.NonDelegate NuGet Attribute and analyzer to prevent assigning a method to a delegate/lambda (as well as passing it to a method). see features, demos and examples.
SequelPay.DotNetPowerExtensions.DependencyInjection NuGet An attribute system with analyzers for DI use, so that the service class can be declared for DI with Attributes.

Also adding the concept of Local services (which can be helpful for one time services or for services requiring intialization).

see features, demos and examples.
SequelPay.DotNetPowerExtensions.MustInitialize NuGet Attributes and analyzers to require intialization of a property field, this is similar to the modern C# required but more sophisticated and more flexible.

(For example you can:
- Initialize it in a sub class and remove the requirment via Initialized
- suppress it which is useful for test code
- Use in DI with the DependencyInjection package Local system).

see features, demos and examples.

Common Packages

There are some common packages which should not be used directly by user code as they are just to assist the installable packages.