{"record":{"id":"236a7f30f06027fe","repo":"JamesNK/Newtonsoft.Json","slug":"expected-a-single-member-with-the-name-0","errorCode":null,"errorMessage":"Expected a single member with the name '{0}'.","messagePattern":"Expected a single member with the name '(.+?)'\\.","errorType":"exception","errorClass":"ArgumentException","httpStatus":null,"severity":"error","filePath":"Src/Newtonsoft.Json/Utilities/ReflectionObject.cs","lineNumber":131,"sourceCode":"            }\n            else\n            {\n                if (ReflectionUtils.HasDefaultConstructor(t, false))\n                {\n                    Func<object> ctor = delegateFactory.CreateDefaultConstructor<object>(t);\n\n                    creatorConstructor = args => ctor();\n                }\n            }\n\n            ReflectionObject d = new ReflectionObject(creatorConstructor);\n\n            foreach (string memberName in memberNames)\n            {\n                MemberInfo[] members = t.GetMember(memberName, BindingFlags.Instance | BindingFlags.Public);\n                if (members.Length != 1)\n                {\n                    throw new ArgumentException(\"Expected a single member with the name '{0}'.\".FormatWith(CultureInfo.InvariantCulture, memberName));\n                }\n\n                MemberInfo member = members.Single();\n\n                ReflectionMember reflectionMember = new ReflectionMember();\n\n                switch (member.MemberType())\n                {\n                    case MemberTypes.Field:\n                    case MemberTypes.Property:\n                        if (ReflectionUtils.CanReadMemberValue(member, false))\n                        {\n                            reflectionMember.Getter = delegateFactory.CreateGet<object>(member);\n                        }\n\n                        if (ReflectionUtils.CanSetMemberValue(member, false, false))\n                        {\n                            reflectionMember.Setter = delegateFactory.CreateSet<object>(member);","sourceCodeStart":113,"sourceCodeEnd":149,"githubUrl":"https://github.com/JamesNK/Newtonsoft.Json/blob/4f73e74372445108d2c1bda37b36e6f5e43402e0/Src/Newtonsoft.Json/Utilities/ReflectionObject.cs#L113-L149","documentation":"Thrown by ReflectionObject.Create when Type.GetMember(memberName, BindingFlags.Instance | BindingFlags.Public) returns zero or more than one member. ReflectionObject requires an unambiguous single public instance member with that exact name. Either the member doesn't exist (zero results) or it's overloaded/ambiguous (more than one).","triggerScenarios":"Calling ReflectionObject.Create(type, \"Name\") where Name is missing, is static-only, or matches multiple members (e.g. an overloaded method, or a method and a property sharing a name).","commonSituations":"Refactoring that renames a member, switching a member from public to non-public, overloaded methods resolved by name alone, or a typo in the member name passed to ReflectionObject.Create.","solutions":["Verify the exact member name spelling, case, and visibility (must be public instance).","Disambiguate overloaded members — ReflectionObject resolves by name only, so rename or remove the overloads.","Confirm the member is not static; the binding flags are Instance | Public."],"exampleFix":"// before\nvar ro = ReflectionObject.Create(typeof(Foo), \"Compute\", \"Data\");\n// Foo has Compute() and Compute(int) -> ambiguous\n\n// after\n// rename one overload or use only unambiguous names\nvar ro = ReflectionObject.Create(typeof(Foo), \"Data\");","handlingStrategy":"validation","validationCode":"MemberInfo[] ms = type.GetMember(name, BindingFlags.Instance | BindingFlags.Public);\nif (ms.Length != 1) throw new ArgumentException($\"'{name}' resolved to {ms.Length} members\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pre-validate member names with GetMember before calling ReflectionObject.Create.","Keep member names unambiguous — avoid method/property name collisions and overloads.","Add a build-time check that reflection-bound member names still resolve."],"tags":["reflection","reflectionobject","member","ambiguous"],"analyzedSha":"4f73e74372445108d2c1bda37b36e6f5e43402e0","analyzedAt":"2026-08-07T06:10:08.596Z","schemaVersion":2},"datasetVersion":"2026-08-07T07:17:06.508Z"}