private static MValue Get([NotNull] FleeceMutableArray array, int index, IThreadSafety threadSafety = null) { return((threadSafety ?? NullThreadSafety.Instance).DoLocked(() => { var val = array.Get(index); if (val.IsEmpty) { throw new IndexOutOfRangeException(); } return val; })); }
private static T GetObject <T>([NotNull] FleeceMutableArray array, int index, IThreadSafety threadSafety = null) where T : class => GetObject(array, index, threadSafety) as T;
private static object GetObject([NotNull] FleeceMutableArray array, int index, IThreadSafety threadSafety = null) => Get(array, index, threadSafety).AsObject(array);
private static T GetObject <T>([NotNull] MDict dict, [NotNull] string key, IThreadSafety threadSafety = null) where T : class => GetObject(dict, key, threadSafety) as T;
private static object GetObject([NotNull] MDict dict, [NotNull] string key, IThreadSafety threadSafety = null) => (threadSafety ?? NullThreadSafety.Instance).DoLocked(() => dict.Get(key).AsObject(dict));