Simple.DI
0.1.1.1
See the version list below for details.
dotnet add package Simple.DI --version 0.1.1.1
NuGet\Install-Package Simple.DI -Version 0.1.1.1
<PackageReference Include="Simple.DI" Version="0.1.1.1" />
paket add Simple.DI --version 0.1.1.1
#r "nuget: Simple.DI, 0.1.1.1"
// Install Simple.DI as a Cake Addin #addin nuget:?package=Simple.DI&version=0.1.1.1 // Install Simple.DI as a Cake Tool #tool nuget:?package=Simple.DI&version=0.1.1.1
Simple
Throw
Pierian spring: https://reubenbond.github.io/posts/dotnet-perf-tuning or translation https://www.lshnk.me/2019/01/26/улучшаем-производительность-в-.net-core-по-опыту-бинарного-сериализатора-hagar/
Using
using Simple;
...
Throw.Exception(new ...Exception(parameters...));
...
// allows optional additional check
Throw.IsArgumentNullException(file, nameof(file), i => !string.IsNullOrEmpty(i));
HashCoceCombiner
class (from MS v2.2)
Extensions
some extensions for Stream and collectopns
Simple.DI
Pierian spring: https://github.com/reactiveui/splat and using like a Splat.Locator, but has litle different names
Using
using Dimple.DI;
static InitDi()
{
var db = new SomethingDataBase(...);
var setup = Locator.Setup();
setup
.AddSingleton(db)
.AddSingleton<IRepoSomething>(() => new RepoSomething(db))
//or .AddSingleton<IRepoSomething>(sp => new RepoSomething(sp.GetService<SomethingDataBase>()))
.AddSingleton<IOthers>(...) ...
}
...
using Dimple.DI;
private readonly IRepoSomething _repo;
public AnyService()
{
_repo = Locator.Current.GetService<IRepoSomething>();
}
Release notes
0.1.1.1 - Small improvements to the hierarchy of classes
Simple.Configuration
Easy way to use JSON and Envirement parameters, which used like a MS in "Hosting" flow
Using
var builder = new ConfigurationBuilder()
.SetBasePath(context.HostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", true);
var configuration = builder.Build();
Locator.Setup().AddConst<IConfiguration>(configuration);
...
var configuration = Locator.Current.GetService<IConfiguration>();
var myConfig = configuration.Json.GetValue("some section").ToObject<MyConfig>();
Simple.Ttl
Using
private IRepoConfig _repo = ...
private readonly TtlValue _configApp(TimeSpan.FromMinutes(5));
...
public IConfigApp GetAppConfig()
=> _configApp.GetOrCreate(() => new ConfigApp(_repo.Get...(...)));
OR
public Task<IConfigApp> GetAppConfigAsync()
=> _configApp.GetOrCreateAsync(() => Get...Async(...));
Release notes
0.1.3.3 - fixed asynchronous method TtlValue.GetOrCreateAsync 0.1.2.2 - update class TtlDictionary and TtlValues
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.