diff --git a/src/Components/Components/ref/Microsoft.AspNetCore.Components.netcoreapp.cs b/src/Components/Components/ref/Microsoft.AspNetCore.Components.netcoreapp.cs
index b6c4f834e2d4d7e4474342850930611963c91571..beb27d0f0c3085e2beaecc2702ee8a7b4f0a4ee7 100644
--- a/src/Components/Components/ref/Microsoft.AspNetCore.Components.netcoreapp.cs
+++ b/src/Components/Components/ref/Microsoft.AspNetCore.Components.netcoreapp.cs
@@ -142,6 +142,7 @@ namespace Microsoft.AspNetCore.Components
         public static readonly Microsoft.AspNetCore.Components.EventCallbackFactory Factory;
         public EventCallback(Microsoft.AspNetCore.Components.IHandleEvent? receiver, System.MulticastDelegate? @delegate) { throw null; }
         public bool HasDelegate { get { throw null; } }
+        public System.Threading.Tasks.Task InvokeAsync() { throw null; }
         public System.Threading.Tasks.Task InvokeAsync(object arg) { throw null; }
     }
     public sealed partial class EventCallbackFactory
@@ -217,6 +218,7 @@ namespace Microsoft.AspNetCore.Components
         public static readonly Microsoft.AspNetCore.Components.EventCallback<TValue> Empty;
         public EventCallback(Microsoft.AspNetCore.Components.IHandleEvent? receiver, System.MulticastDelegate? @delegate) { throw null; }
         public bool HasDelegate { get { throw null; } }
+        public System.Threading.Tasks.Task InvokeAsync() { throw null; }
         public System.Threading.Tasks.Task InvokeAsync(TValue arg) { throw null; }
     }
     [System.AttributeUsageAttribute(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
diff --git a/src/Components/Components/src/EventCallback.cs b/src/Components/Components/src/EventCallback.cs
index 0acc823124499959fbf50556982a1a0b284f3489..c053f810ab540118dad15061f32e3f1c3414a541 100644
--- a/src/Components/Components/src/EventCallback.cs
+++ b/src/Components/Components/src/EventCallback.cs
@@ -61,6 +61,13 @@ namespace Microsoft.AspNetCore.Components
             return Receiver.HandleEventAsync(new EventCallbackWorkItem(Delegate), arg);
         }
 
+        /// <summary>
+        /// Invokes the delegate associated with this binding and dispatches an event notification to the
+        /// appropriate component.
+        /// </summary>
+        /// <returns>A <see cref="Task"/> which completes asynchronously once event processing has completed.</returns>
+        public Task InvokeAsync() => InvokeAsync(null!);
+
         object? IEventCallback.UnpackForRenderTree()
         {
             return RequiresExplicitReceiver ? (object)this : Delegate;
diff --git a/src/Components/Components/src/EventCallbackOfT.cs b/src/Components/Components/src/EventCallbackOfT.cs
index 12072171fa92ebf08a628c3165e1569a89701ca2..23f7888826d2b80c225433bbeacade9d38508d2b 100644
--- a/src/Components/Components/src/EventCallbackOfT.cs
+++ b/src/Components/Components/src/EventCallbackOfT.cs
@@ -56,6 +56,13 @@ namespace Microsoft.AspNetCore.Components
             return Receiver.HandleEventAsync(new EventCallbackWorkItem(Delegate), arg);
         }
 
+        /// <summary>
+        /// Invokes the delegate associated with this binding and dispatches an event notification to the
+        /// appropriate component.
+        /// </summary>
+        /// <returns>A <see cref="Task"/> which completes asynchronously once event processing has completed.</returns>
+        public Task InvokeAsync() => InvokeAsync(default!);
+
         internal EventCallback AsUntyped()
         {
             return new EventCallback(Receiver ?? Delegate?.Target as IHandleEvent, Delegate);
diff --git a/src/Components/Components/test/EventCallbackTest.cs b/src/Components/Components/test/EventCallbackTest.cs
index 25405c21808850a7ba4331c658c88222b1a112a0..57c2538e483a1ff9d53445df368c476f25b47e71 100644
--- a/src/Components/Components/test/EventCallbackTest.cs
+++ b/src/Components/Components/test/EventCallbackTest.cs
@@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = default(EventCallback);
 
             // Act & Assert (Does not throw)
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
         }
 
         [Fact]
@@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = default(EventCallback<EventArgs>);
 
             // Act & Assert (Does not throw)
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
         }
 
 
@@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback(null, (Action)(() => runCount++));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -54,7 +54,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback<EventArgs>(null, (Action)(() => runCount++));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback(component, (Action)(() => runCount++));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -108,7 +108,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback(component, (Action<EventArgs>)((e) => { arg = e; runCount++; }));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -184,7 +184,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback(component, (Func<Task>)(() => { runCount++; return Task.CompletedTask; }));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -221,7 +221,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback(component, (Func<EventArgs, Task>)((e) => { arg = e; runCount++; return Task.CompletedTask; }));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -297,7 +297,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback<EventArgs>(component, (Action)(() => runCount++));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -334,7 +334,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback<EventArgs>(component, (Action<EventArgs>)((e) => { arg = e; runCount++; }));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -373,7 +373,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback<EventArgs>(component, (Func<Task>)(() => { runCount++; return Task.CompletedTask; }));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert
@@ -410,7 +410,7 @@ namespace Microsoft.AspNetCore.Components
             var callback = new EventCallback<EventArgs>(component, (Func<EventArgs, Task>)((e) => { arg = e; runCount++; return Task.CompletedTask; }));
 
             // Act
-            await callback.InvokeAsync(null);
+            await callback.InvokeAsync();
 
 
             // Assert