Soenneker.Blazor.Extensions.EventCallback
4.0.458
Prefix Reserved
dotnet add package Soenneker.Blazor.Extensions.EventCallback --version 4.0.458
NuGet\Install-Package Soenneker.Blazor.Extensions.EventCallback -Version 4.0.458
<PackageReference Include="Soenneker.Blazor.Extensions.EventCallback" Version="4.0.458" />
<PackageVersion Include="Soenneker.Blazor.Extensions.EventCallback" Version="4.0.458" />
<PackageReference Include="Soenneker.Blazor.Extensions.EventCallback" />
paket add Soenneker.Blazor.Extensions.EventCallback --version 4.0.458
#r "nuget: Soenneker.Blazor.Extensions.EventCallback, 4.0.458"
#:package Soenneker.Blazor.Extensions.EventCallback@4.0.458
#addin nuget:?package=Soenneker.Blazor.Extensions.EventCallback&version=4.0.458
#tool nuget:?package=Soenneker.Blazor.Extensions.EventCallback&version=4.0.458
Soenneker.Blazor.Extensions.EventCallback
Small Blazor extensions that invoke an EventCallback only when its consumer assigned a delegate.
Installation
dotnet add package Soenneker.Blazor.Extensions.EventCallback
Usage
The extension removes repeated HasDelegate checks from reusable components:
@using Soenneker.Blazor.Extensions.EventCallback
<button @onclick="Save">Save</button>
@code {
[Parameter]
public EventCallback<Order> OnSaved { get; set; }
private async Task Save()
{
Order order = await SaveOrder();
await OnSaved.InvokeIfHasDelegate(order);
}
}
The non-generic overload works the same way:
[Parameter]
public EventCallback OnClosed { get; set; }
await OnClosed.InvokeIfHasDelegate();
When no delegate is assigned, both overloads return Task.CompletedTask. When a delegate is assigned, invocation follows normal Blazor EventCallback.InvokeAsync behavior, including renderer dispatch and exception propagation. Await the returned task when subsequent work depends on the callback completing.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.Components (>= 10.0.11)
NuGet packages (12)
Showing the top 5 NuGet packages that depend on Soenneker.Blazor.Extensions.EventCallback:
| Package | Downloads |
|---|---|
|
Soenneker.Blazor.TomSelect
A Blazor interop library for the select user control library, Tom Select |
|
|
Soenneker.Blazor.Turnstile
Renders a Cloudflare Turnstile widget in Blazor and exposes its token and lifecycle events. |
|
|
Soenneker.Blazor.DataTables
A Blazor interop library for DataTables |
|
|
Soenneker.Blazor.Stripe.Elements
A modular, strongly-typed Blazor library for Stripe Elements |
|
|
Soenneker.Blazor.Chatwoot
A Blazor interop library for Chatwoot, the open-source customer engagement suite. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.458 | 661 | 8/29/2026 |
| 4.0.457 | 131 | 8/29/2026 |
| 4.0.456 | 8,292 | 8/11/2026 |
| 4.0.455 | 10,200 | 7/27/2026 |
| 4.0.454 | 11,098 | 7/16/2026 |
| 4.0.453 | 2,963 | 7/14/2026 |
| 4.0.452 | 11,961 | 6/18/2026 |
| 4.0.451 | 7,348 | 6/9/2026 |
| 4.0.450 | 5,098 | 6/5/2026 |
| 4.0.449 | 8,367 | 5/12/2026 |
| 4.0.448 | 11,063 | 4/22/2026 |
| 4.0.447 | 765 | 4/21/2026 |
| 4.0.446 | 5,749 | 4/14/2026 |
| 4.0.445 | 15,006 | 3/22/2026 |
| 4.0.444 | 4,013 | 3/12/2026 |
| 4.0.443 | 269 | 3/12/2026 |
| 4.0.442 | 205 | 3/12/2026 |
| 4.0.441 | 216 | 3/12/2026 |
| 4.0.440 | 1,032 | 3/12/2026 |
| 4.0.439 | 2,627 | 3/10/2026 |
Improve EventCallback extension documentation