{"record":{"id":"1410042327a3e6ee","repo":"unoplatform/uno","slug":"member","errorCode":null,"errorMessage":"member","messagePattern":"member","errorType":"exception","errorClass":"ArgumentNullException","httpStatus":null,"severity":"error","filePath":"src/SourceGenerators/System.Xaml/System.Xaml.Schema/XamlMemberInvoker.cs","lineNumber":44,"sourceCode":"using System.Reflection;\n\nnamespace Uno.Xaml.Schema\n{\n\tpublic class XamlMemberInvoker\n\t{\n\t\tstatic readonly XamlMemberInvoker unknown = new XamlMemberInvoker ();\n\t\tpublic static XamlMemberInvoker UnknownInvoker {\n\t\t\tget { return unknown; }\n\t\t}\n\n\t\tprotected XamlMemberInvoker ()\n\t\t{\n\t\t}\n\n\t\tpublic XamlMemberInvoker (XamlMember member)\n\t\t{\n\t\t\tif (member == null)\n\t\t\t\tthrow new ArgumentNullException (\"member\");\n\t\t\tthis.member = member;\n\t\t}\n\n\t\tXamlMember member;\n\n\t\tpublic MethodInfo UnderlyingGetter {\n\t\t\tget { return member != null ? member.UnderlyingGetter : null; }\n\t\t}\n\n\t\tpublic MethodInfo UnderlyingSetter {\n\t\t\tget { return member != null ? member.UnderlyingSetter : null; }\n\t\t}\n\n\t\tvoid ThrowIfUnknown ()\n\t\t{\n\t\t\tif (member == null)\n\t\t\t\tthrow new NotSupportedException (\"Current operation is invalid for unknown member.\");\n\t\t}","sourceCodeStart":26,"sourceCodeEnd":62,"githubUrl":"https://github.com/unoplatform/uno/blob/04183404888ea21b4e5bfa3493e8d5f15e972c3a/src/SourceGenerators/System.Xaml/System.Xaml.Schema/XamlMemberInvoker.cs#L26-L62","documentation":"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.","triggerScenarios":"Constructing new XamlMemberInvoker(null) directly, or via a factory that produced a null XamlMember from an unresolved member lookup.","commonSituations":"Custom XAML schema contexts building invokers for members that failed to resolve; reflection-driven member creation where UnderlyingMember was null.","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."],"exampleFix":"// before\nvar inv = new XamlMemberInvoker(resolvedMember); // throws if null\n\n// after\nvar inv = resolvedMember != null\n    ? new XamlMemberInvoker(resolvedMember)\n    : XamlMemberInvoker.UnknownInvoker;","handlingStrategy":"validation","validationCode":"var inv = member != null\n    ? new XamlMemberInvoker(member)\n    : XamlMemberInvoker.UnknownInvoker;","typeGuard":"static bool HasKnownMember(XamlMember m) => m != null;","tryCatchPattern":null,"preventionTips":["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."],"tags":["xaml","schema","member-invoker","argument-null","uno"],"backgroundTag":null,"analyzedSha":"04183404888ea21b4e5bfa3493e8d5f15e972c3a","analyzedAt":"2026-08-13T21:08:11.651Z","schemaVersion":2},"datasetVersion":"2026-08-14T00:17:13.853Z"}