public override object Get(IFormatReader parameter) { var element = IsElement.Default.IsSatisfiedBy(parameter); if (element) { var reference = GetReference(parameter); if (reference != null) { var result = _maps.Get(parameter).Get(reference.Value); return(result); } } { var declared = element ? Identity(parameter) : null; var result = base.Get(parameter); var identity = declared ?? (element && result != null ? Entity(parameter, result) : null); if (identity != null) { var map = _maps.Get(parameter); if (map.Get(identity.Value) != result) { map.Assign(identity.Value, result); } } return(result); } }
public override object Get(IFormatReader parameter) { var reference = GetReference(parameter); if (reference != null) { var result = _maps.Get(parameter).Get(reference.Value); return(result); } { var element = parameter.Get().To <XmlReader>().NodeType != XmlNodeType.Attribute || MemberProperty.Default.Get(parameter); var declared = element ? Identity(parameter) : null; var result = base.Get(parameter); var identity = declared ?? (element && result != null ? Entity(parameter, result) : null); if (identity != null) { var map = _maps.Get(parameter); if (map.Get(identity.Value) != result) { map.Assign(identity.Value, result); } } return(result); } }
public object Get(IFormatReader parameter) { var declared = Identity(parameter); var result = _activator.Get(parameter); var identity = declared ?? (result != null ? Entity(parameter, result) : null); if (identity != null) { _maps.Get(parameter).Assign(identity.Value, result); } return(result); }
public override object Get(IFormatReader parameter) { var identity = GetReference(parameter); if (identity != null) { var reference = _maps.Get(parameter).Get(identity.Value); return(reference); } var result = base.Get(parameter); return(result); }
public object Get(IFormatReader parameter) { var element = parameter.Get().To <XmlReader>().NodeType != XmlNodeType.Attribute || MemberProperty.Default.Get(parameter); var declared = element ? Identity(parameter) : null; var result = _activator.Get(parameter); var identity = declared ?? (element && result != null ? Entity(parameter, result) : null); if (identity != null) { _maps.Get(parameter) .Assign(identity.Value, result); } return(result); }
public object Get(IFormatReader parameter) { var element = !string.IsNullOrEmpty(parameter.Identifier); var declared = element ? Identity(parameter) : null; var result = _activator.Get(parameter); var identity = declared ?? (element && result != null ? Entity(parameter, result) : null); if (identity != null) { _maps.Get(parameter) .Assign(identity.Value, result); } return(result); }
public object Get(IFormatReader parameter) { var element = IsElement.Default.IsSatisfiedBy(parameter); var declared = element ? Identity(parameter) : null; var result = _activator.Get(parameter); var identity = declared ?? (element && result != null ? Entity(parameter, result) : null); if (identity != null) { _maps.Get(parameter) .Assign(identity.Value, result); } return(result); }
protected override IReferenceMap Create(IFormatReader parameter) => new DeferredReferenceMap(_commands.Get(parameter), _contexts.Get(parameter), _maps.Get(parameter));