コード例 #1
0
        //----< load queryrequest processing into dispatcher dictionary >------
        private void DispatcherLoadQueryRequest()
        {
            Action <CsMessage> queryrequest = (CsMessage rcvMsg) =>
            {
                Action clearFiles = () =>
                {
                    QueryControl.clearFiles();
                };
                Dispatcher.Invoke(clearFiles, new Object[] { });
                var enumer = rcvMsg.attributes.GetEnumerator();
                while (enumer.MoveNext())
                {
                    string key = enumer.Current.Key;
                    if (key.Contains("hasname"))
                    {
                        Action <string> process = (string name) =>
                        {
                            int i = 0;
                            while (i < name.Length)
                            {
                                string s = "";
                                while (name[i] != '+')
                                {
                                    s = s + name[i];
                                    i++;
                                }
                                if (s != "")
                                {
                                    QueryControl.addFile(s);
                                }
                                i++;
                            }
                        };
                        Dispatcher.Invoke(process, new Object[] { enumer.Current.Value });
                    }
                }
            };

            addClientProc("queryrequest", queryrequest);
        }