Esempio n. 1
0
#pragma warning disable IDE0051 // Remove unused private members (compile-time test to ensure interfaces are correct)
        private static void InterfaceSanityCheck <T>(IPersistedObjectSpace space)
        {
            //
            // Value
            //

            var value = space.GetValue <int>("foo");

            // IPersisted
            _ = value.Id;

            // IPersistedValue<T>, IValue<T>
            _           = value.Value;
            value.Value = default;

            // IReadOnlyValue<T>
            _ = ((IReadOnlyValue <int>)value).Value;


            //
            // Array
            //

            var array = space.GetArray <int>("foo");

            // IPersisted
            _ = array.Id;

            // IArray<T>
            _ = array.Length;
            _ = array[default];
Esempio n. 2
0
 public override IPersistedLinkedList <T> GetResult(IPersistedObjectSpace space) => space.CreateLinkedList <T>(Id);
Esempio n. 3
0
 public override IPersistedArray <T> GetResult(IPersistedObjectSpace space) => space.CreateArray <T>(Id, Length);
Esempio n. 4
0
 public override IPersistedArray <T> GetResult(IPersistedObjectSpace space) => space.GetArray <T>(Id);
Esempio n. 5
0
 public override IPersistedValue <T> GetResult(IPersistedObjectSpace space) => space.GetValue <T>(Id);
Esempio n. 6
0
 public abstract TResult GetResult(IPersistedObjectSpace space);
Esempio n. 7
0
 public sealed override void Accept(IPersistedObjectSpace space) => _ = GetResult(space);
Esempio n. 8
0
 public override void Accept(IPersistedObjectSpace space) => space.Delete(Id);