public static T TryEnterReadLockSlimRead <T>
 (
     this ReaderWriterLockSlim readerLockSlim
     , Func <ReaderWriterLockSlim, T> onReadedProcessFunc
     , int enterTimeOutInSeconds
 )
 {
     return
         (ReaderWriterLockSlimHelper
          .TryEnterReadLockSlimRead <T>
          (
              readerLockSlim
              , onReadedProcessFunc
              , enterTimeOutInSeconds
          ));
 }
 public static bool TryEnterLockSlim
 (
     this ReaderWriterLockSlim lockSlim
     , Func <ReaderWriterLockSlim, bool> onEnterProcessFunc
     , Action action
     , Action <ReaderWriterLockSlim> onExitProcessAction
 )
 {
     return
         (ReaderWriterLockSlimHelper
          .TryEnterLockSlim
          (
              lockSlim
              , onEnterProcessFunc
              , action
              , onExitProcessAction
          ));
 }
 public static bool TryEnterWriterLockSlimWrite <T>
 (
     this ReaderWriterLockSlim writerLockSlim
     , ref T target
     , T newTarget
     , int enterTimeOutInSeconds
 )
     where T : class
 {
     return
         (ReaderWriterLockSlimHelper
          .TryEnterWriterLockSlimWrite <T>
          (
              writerLockSlim
              , ref target
              , newTarget
              , enterTimeOutInSeconds
          ));
 }