Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 6b8b7ef

Browse files
Add null checks to first extension method argument (#943)
Co-authored-by: Gerald Versluis <[email protected]>
1 parent 4ddcf4e commit 6b8b7ef

File tree

5 files changed

+30
-3
lines changed

5 files changed

+30
-3
lines changed

src/CommunityToolkit/Xamarin.CommunityToolkit/Extensions/PageExtension.shared.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ public static class PageExtension
1212
{
1313
public static Task DisplayToastAsync(this Page page, string message, int durationMilliseconds = 3000)
1414
{
15+
_ = page ?? throw new ArgumentNullException(nameof(page));
16+
1517
var messageOptions = new MessageOptions { Message = message };
1618
var args = new SnackBarOptions
1719
{
@@ -30,6 +32,8 @@ public static Task DisplayToastAsync(this Page page, string message, int duratio
3032

3133
public static Task DisplayToastAsync(this Page page, ToastOptions toastOptions)
3234
{
35+
_ = page ?? throw new ArgumentNullException(nameof(page));
36+
3337
var snackBar = new SnackBar();
3438
var arguments = toastOptions ?? new ToastOptions();
3539
var options = new SnackBarOptions
@@ -45,6 +49,8 @@ public static Task DisplayToastAsync(this Page page, ToastOptions toastOptions)
4549

4650
public static Task<bool> DisplaySnackBarAsync(this Page page, string message, string actionButtonText, Func<Task> action, int durationMilliseconds = 3000)
4751
{
52+
_ = page ?? throw new ArgumentNullException(nameof(page));
53+
4854
var messageOptions = new MessageOptions { Message = message };
4955
var actionOptions = new List<SnackBarActionOptions>
5056
{
@@ -71,6 +77,8 @@ public static Task<bool> DisplaySnackBarAsync(this Page page, string message, st
7177

7278
public static Task<bool> DisplaySnackBarAsync(this Page page, SnackBarOptions snackBarOptions)
7379
{
80+
_ = page ?? throw new ArgumentNullException(nameof(page));
81+
7482
var snackBar = new SnackBar();
7583
var arguments = snackBarOptions ?? new SnackBarOptions();
7684
snackBar.Show(page, arguments);

src/CommunityToolkit/Xamarin.CommunityToolkit/Extensions/VisualElementExtension.shared.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ public static class VisualElementExtension
88
{
99
public static Task<bool> ColorTo(this VisualElement element, Color color, uint length = 250u, Easing easing = null)
1010
{
11+
_ = element ?? throw new ArgumentNullException(nameof(element));
12+
1113
var animationCompletionSource = new TaskCompletionSource<bool>();
1214
new Animation
1315
{
@@ -21,6 +23,8 @@ public static Task<bool> ColorTo(this VisualElement element, Color color, uint l
2123

2224
public static void AbortAnimations(this VisualElement element, params string[] otherAnimationNames)
2325
{
26+
_ = element ?? throw new ArgumentNullException(nameof(element));
27+
2428
ViewExtensions.CancelAnimations(element);
2529
element.AbortAnimation(nameof(ColorTo));
2630

@@ -33,6 +37,8 @@ public static void AbortAnimations(this VisualElement element, params string[] o
3337

3438
internal static bool TryFindParentElementWithParentOfType<T>(this VisualElement element, out VisualElement result, out T parent) where T : VisualElement
3539
{
40+
_ = element ?? throw new ArgumentNullException(nameof(element));
41+
3642
result = null;
3743
parent = null;
3844
while (element.Parent != null)

src/CommunityToolkit/Xamarin.CommunityToolkit/Helpers/WeakEventManager.shared.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ public static class WeakEventManagerExtensions
121121
/// <param name="sender">Sender</param>
122122
/// <param name="eventArgs">Event arguments</param>
123123
/// <param name="eventName">Event name</param>
124-
public static void RaiseEvent(this Forms.WeakEventManager weakEventManager, object sender, object eventArgs, string eventName) => weakEventManager.HandleEvent(sender, eventArgs, eventName);
124+
public static void RaiseEvent(this Forms.WeakEventManager weakEventManager, object sender, object eventArgs, string eventName)
125+
{
126+
_ = weakEventManager ?? throw new ArgumentNullException(nameof(weakEventManager));
127+
128+
weakEventManager.HandleEvent(sender, eventArgs, eventName);
129+
}
125130
}
126131
}

src/CommunityToolkit/Xamarin.CommunityToolkit/Helpers/WeakEventManagerService.shared.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ static DynamicMethod TryGetDynamicMethod(in MethodInfo rtDynamicMethod)
171171

172172
static bool IsLightweightMethod(this MethodBase method)
173173
{
174+
_ = method ?? throw new ArgumentNullException(nameof(method));
175+
174176
var typeInfoRTDynamicMethod = typeof(DynamicMethod).GetTypeInfo().GetDeclaredNestedType("RTDynamicMethod");
175177
return method is DynamicMethod || (typeInfoRTDynamicMethod?.IsAssignableFrom(method.GetType().GetTypeInfo()) ?? false);
176178
}
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1-
using System.Collections.Generic;
1+
using System;
2+
using System.Collections.Generic;
23
using Xamarin.Forms;
34

45
namespace Xamarin.CommunityToolkit.UI.Views
56
{
67
public static class LayoutExtensions
78
{
8-
public static IReadOnlyList<Element> GetChildren(this ILayoutController source) => source.Children;
9+
public static IReadOnlyList<Element> GetChildren(this ILayoutController source)
10+
{
11+
_ = source ?? throw new ArgumentNullException(nameof(source));
12+
13+
return source.Children;
14+
}
915
}
1016
}

0 commit comments

Comments
 (0)