public bool TryGetSerializableMemberDetails(string name, out MemberDetail property) { if (membersFieldBackedByName == null) { lock (this) { if (membersFieldBackedByName == null) { membersFieldBackedByName = MemberDetails.ToDictionary(x => x.Name); } } } return(this.membersFieldBackedByName.TryGetValue(name, out property)); }
public MemberDetail GetMemberFieldBacked(string name) { if (membersFieldBackedByName == null) { lock (this) { if (membersFieldBackedByName == null) { membersFieldBackedByName = MemberDetails.ToDictionary(x => x.Name); } } } if (!this.membersFieldBackedByName.TryGetValue(name, out MemberDetail member)) { throw new Exception($"TypeDetails for {Type.Name} does not contain member {name}"); } return(member); }