PipeNet 2.0.0
dotnet add package PipeNet --version 2.0.0
NuGet\Install-Package PipeNet -Version 2.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PipeNet" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PipeNet --version 2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PipeNet, 2.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PipeNet as a Cake Addin #addin nuget:?package=PipeNet&version=2.0.0 // Install PipeNet as a Cake Tool #tool nuget:?package=PipeNet&version=2.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PipeNet
PipeNet in .Net core
Usage
OrderData result= await new Pipe<OrderData>()
.Next(new OrderNode())
.Next(new ProducingNode())
.Finally(new CheckoutNode())
.Execute(new OrderData()
{
Name = "Coffee",
State = this.GetType().Name,
});
Node 1 in the pipe
public class OrderNode : Node<OrderData>
{
public override async Task<OrderData> Execute(OrderData param)
{
param.State = GetType().Name;
return await base.Execute(param);
}
}
Node 2 in the pipe
public class ProducingNode : Node<OrderData>
{
public override async Task<OrderData> Execute(OrderData param)
{
param.State = GetType().Name;
return await base.Execute(param);
}
}
Node 3 in the pipe
public class CheckoutNode : Node<OrderData>
{
public override async Task<OrderData> Execute(OrderData param)
{
param.State = GetType().Name;
return await base.Execute(param);
}
}
Benchmark Summary
BenchmarkDotNet=v0.12.1, OS=macOS 11.2.3 (20D91) [Darwin 20.3.0] Intel Core i7-9750H CPU 2.60GHz, 1 CPU, 12 logical and 6 physical cores .NET Core SDK=5.0.201 [Host] : .NET Core 5.0.4 (CoreCLR 5.0.421.11614, CoreFX 5.0.421.11614), X64 RyuJIT DefaultJob : .NET Core 5.0.4 (CoreCLR 5.0.421.11614, CoreFX 5.0.421.11614), X64 RyuJIT
Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|
WithPipeNet | 221.3 ns | 4.37 ns | 10.87 ns | 0.0713 | - | - | 448 B |
RunWithoutPipeNet | 218.0 ns | 4.41 ns | 10.90 ns | 0.0892 | - | - | 560 B |
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. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- EasyRetry (>= 2.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.