コード例 #1
0
ファイル: Program.cs プロジェクト: tamirdresher/reaqtor
#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];
コード例 #2
0
 public override IPersistedLinkedList <T> GetResult(IPersistedObjectSpace space) => space.CreateLinkedList <T>(Id);
コード例 #3
0
 public override IPersistedArray <T> GetResult(IPersistedObjectSpace space) => space.CreateArray <T>(Id, Length);
コード例 #4
0
 public override IPersistedArray <T> GetResult(IPersistedObjectSpace space) => space.GetArray <T>(Id);
コード例 #5
0
 public override IPersistedValue <T> GetResult(IPersistedObjectSpace space) => space.GetValue <T>(Id);
コード例 #6
0
 public abstract TResult GetResult(IPersistedObjectSpace space);
コード例 #7
0
 public sealed override void Accept(IPersistedObjectSpace space) => _ = GetResult(space);
コード例 #8
0
 public override void Accept(IPersistedObjectSpace space) => space.Delete(Id);