private object FindValueOrNull(string name, StringComparison comparison) { if (UnwrappedContents == null || !UnwrappedContents.HasValues) { return(null); } var found = UnwrappedContents.Properties() .FirstOrDefault( p => string.Equals(p.Name, name, comparison)); return(DynamicJacket.WrapOrUnwrap(found?.Value)); }
/// <inheritdoc /> public dynamic CreateInstance(string virtualPath, string dontRelyOnParameterOrder = Eav.Constants.RandomProtectionParameter, string name = null, string relativePath = null, bool throwOnError = true) { var wrapLog = Log.Call <dynamic>(); // usually we don't have a relative path, so we use the preset path from when this class was instantiated relativePath = relativePath ?? CreateInstancePath; var instance = UnwrappedContents?.CreateInstance(virtualPath, dontRelyOnParameterOrder, name, relativePath ?? CreateInstancePath, throwOnError); return(wrapLog((instance != null).ToString(), instance)); }
/// <inheritdoc /> public dynamic CreateInstance(string virtualPath, string dontRelyOnParameterOrder = Eav.Constants.RandomProtectionParameter, string name = null, string relativePath = null, bool throwOnError = true) => UnwrappedContents?.CreateInstance(virtualPath, dontRelyOnParameterOrder, name, CreateInstancePath, throwOnError);
/// <inheritdoc /> public override IEnumerator <object> GetEnumerator() => UnwrappedContents.Select(DynamicJacket.WrapOrUnwrap).GetEnumerator();
/// <inheritdoc /> public override object this[int index] => (_propertyArray ?? (_propertyArray = UnwrappedContents.Properties().ToArray()))[index];
/// <inheritdoc /> public IFolder AsAdam(IEntity entity, string fieldName) => UnwrappedContents?.AsAdam(entity, fieldName);
/// <summary> /// Enable enumeration. Will return the keys, not the values. <br/> /// Use the [key] accessor to get the values as <see cref="DynamicJacket"/> or <see cref="DynamicJacketList"/> /// </summary> /// <returns>the string names of the keys</returns> public override IEnumerator <object> GetEnumerator() => UnwrappedContents.Properties().Select(p => p.Name).GetEnumerator();
/// <inheritdoc /> public T CreateSource <T>(IDataStream inStream) where T : IDataSource => UnwrappedContents.CreateSource <T>(inStream);
/// <inheritdoc /> public T CreateSource <T>(IDataSource inSource = null, ILookUpEngine configurationProvider = null) where T : IDataSource => UnwrappedContents.CreateSource <T>(inSource, configurationProvider);
/// <inheritdoc /> public IEnumerable <dynamic> AsList(object list) => UnwrappedContents?.AsList(list);
/// <inheritdoc /> public IEntity AsEntity(object dynamicEntity) => UnwrappedContents?.AsEntity(dynamicEntity);
/// <inheritdoc /> public dynamic AsDynamic(object dynamicEntity) => UnwrappedContents?.AsDynamic(dynamicEntity);
/// <inheritdoc /> public dynamic AsDynamic(IEntity entity) => UnwrappedContents?.AsDynamic(entity);
/// <inheritdoc /> public dynamic AsDynamic(string json, string fallback = DynamicJacket.EmptyJson) => UnwrappedContents?.AsDynamic(json, fallback);