コード例 #1
0
        private static void ReceiveCallback(IAsyncResult ar)
        {
            AsyncDataState <byte[], byte[]> state = ar.AsyncState as AsyncDataState <byte[], byte[]>;

            try
            {
                int    size   = state.Socket.EndReceive(ar);
                byte[] result = null;
                if (size > 0)
                {
                    result = new byte[size];
                    Array.Copy(state.Data, 0, result, 0, size);
                }
                state.Callback?.Invoke(result);
            }
            catch (Exception ex)
            {
                state.Callback?.Invoke(null);
            }
        }
コード例 #2
0
 public AsyncData(T?data, AsyncDataState state = AsyncDataState.Initial, string error = "")
 => (Data, State, Error) = (data, state, error);