Beispiel #1
0
        /// <summary>
        /// Invoke the given action on a cached buffer that returns the given type.
        /// </summary>
        /// <example>
        /// return BufferHelper.BufferInvoke((NativeBuffer buffer) => { return string.Empty; });
        /// </example>
        public static T BufferInvoke <BufferType, T>(Func <BufferType, T> func) where BufferType : HeapBuffer
        {
            var wrapper = new FuncWrapper <BufferType, T> {
                Func = func
            };

            return(BufferInvoke <FuncWrapper <BufferType, T>, BufferType, T>(ref wrapper));
        }
Beispiel #2
0
        /// <summary>
        ///  Invoke the given action on a cached buffer that returns the given type.
        /// </summary>
        /// <example>
        ///  return BufferHelper.BufferInvoke((NativeBuffer buffer) => { return string.Empty; });
        /// </example>
        public static T BufferInvoke <TBuffer, T>(Func <TBuffer, T> func) where TBuffer : HeapBuffer
        {
            var wrapper = new FuncWrapper <TBuffer, T> {
                Func = func
            };

            return(BufferInvoke <FuncWrapper <TBuffer, T>, TBuffer, T>(ref wrapper));
        }