コード例 #1
0
 public static Impl FindImpl(IGeneratedStore store)
 {
     while (store?.Parent != null)
     {
         store = store.Parent;                           // walk to the top of the tree
     }
     return(store?.Impl);
 }
コード例 #2
0
 public static void ImplTakeRead(IGeneratedStore s) => FindImpl(s).TakeRead();
コード例 #3
0
 public static void ImplInvokeChanged(IGeneratedStore s) => FindImpl(s).InvokeChanged();
コード例 #4
0
 public static void ImplSignalChanged(IGeneratedStore s) => FindImpl(s).SignalChanged();
コード例 #5
0
 public static ReaderWriterLockSlim ImplGetWriteSyncObject(IGeneratedStore s) => FindImpl(s)?.WriteSyncObject;
コード例 #6
0
 public static WaitHandle ImplGetSyncObject(IGeneratedStore s) => FindImpl(s).SyncObject;
コード例 #7
0
 public Impl(IGeneratedStore store) => generated = store;
コード例 #8
0
 public static void ImplWriteTo(IGeneratedStore s, ConfigProvider provider) => FindImpl(s).WriteTo(provider);
コード例 #9
0
 public static void ImplReadFrom(IGeneratedStore s, ConfigProvider provider) => FindImpl(s).ReadFrom(provider);
コード例 #10
0
 public static IDisposable ImplChangeTransaction(IGeneratedStore s, IDisposable nest) => FindImpl(s).ChangeTransaction(nest);
コード例 #11
0
 public static void ImplReleaseWrite(IGeneratedStore s) => FindImpl(s).ReleaseWrite();
コード例 #12
0
 public static void ImplTakeWrite(IGeneratedStore s) => FindImpl(s).TakeWrite();
コード例 #13
0
 public static void ImplReleaseRead(IGeneratedStore s) => FindImpl(s).ReleaseRead();
コード例 #14
0
 private static IConfigStore Create(Type type, IGeneratedStore parent)
 => GetCreator(type)(parent);
コード例 #15
0
 internal static T Create <T>(IGeneratedStore parent) where T : class => (T)Create(typeof(T), parent);