unoplatform/uno · error · ArgumentNullException
member
Error message
member
What it means
Thrown by the XamlMemberInvoker(XamlMember) constructor when the member argument is null. The invoker stores the member to back its UnderlyingGetter/UnderlyingSetter and to distinguish known from unknown members, so null is invalid.
Source
Thrown at src/SourceGenerators/System.Xaml/System.Xaml.Schema/XamlMemberInvoker.cs:44
using System.Reflection;
namespace Uno.Xaml.Schema
{
public class XamlMemberInvoker
{
static readonly XamlMemberInvoker unknown = new XamlMemberInvoker ();
public static XamlMemberInvoker UnknownInvoker {
get { return unknown; }
}
protected XamlMemberInvoker ()
{
}
public XamlMemberInvoker (XamlMember member)
{
if (member == null)
throw new ArgumentNullException ("member");
this.member = member;
}
XamlMember member;
public MethodInfo UnderlyingGetter {
get { return member != null ? member.UnderlyingGetter : null; }
}
public MethodInfo UnderlyingSetter {
get { return member != null ? member.UnderlyingSetter : null; }
}
void ThrowIfUnknown ()
{
if (member == null)
throw new NotSupportedException ("Current operation is invalid for unknown member.");
}View on GitHub (pinned to 0418340488)
Solutions
- Use XamlMemberInvoker.UnknownInvoker (the static singleton) instead of constructing an invoker for an unknown/null member.
- Ensure the XamlMember passed in is non-null by validating the source lookup (e.g. XamlType.GetMember result).
- Guard with a null check and fall back to UnknownInvoker semantics.
Example fix
// before
var inv = new XamlMemberInvoker(resolvedMember); // throws if null
// after
var inv = resolvedMember != null
? new XamlMemberInvoker(resolvedMember)
: XamlMemberInvoker.UnknownInvoker; Defensive patterns
Strategy: validation
Validate before calling
var inv = member != null
? new XamlMemberInvoker(member)
: XamlMemberInvoker.UnknownInvoker; Type guard
static bool HasKnownMember(XamlMember m) => m != null;
Prevention
- Use XamlMemberInvoker.UnknownInvoker for unknown members instead of constructing with null.
- Validate XamlType.GetMember results before constructing invokers.
- Wrap invoker construction in a helper that handles the null case.
When it happens
Trigger: Constructing new XamlMemberInvoker(null) directly, or via a factory that produced a null XamlMember from an unresolved member lookup.
Common situations: Custom XAML schema contexts building invokers for members that failed to resolve; reflection-driven member creation where UnderlyingMember was null.
Related errors
- instance
- Current operation is invalid for unknown member.
- not supported operation on directive member {0}
- Attempt to get value from write-only property or event {0}
- typeName
AI-assisted analysis of unoplatform/uno@0418340488 (2026-08-13).
Data as JSON: /api/errors/1410042327a3e6ee.
Report an issue: GitHub.