Exemplo n.º 1
0
        private void btnSaveS_Click(object sender, EventArgs e)
        {
            if (lvService.SelectedItems.Count == 0)
            {
                return;
            }
            //создаем объект и помещаем туда выбранный из списка
            object selectedObj = new object();

            selectedObj = ObjectList[lvService.SelectedIndices[0]];

            InterfaceS serializer = (InterfaceS)Activator.CreateInstance(SerializerList[cbSerializer.SelectedIndex]);

            saveDialog.Filter = serializer.FileExtension;
            if (saveDialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            string filePath = saveDialog.FileName;

            serializer.Serialize(selectedObj, filePath);

            //время для цирка с кодировкой
            DialogResult choice = MessageBox.Show("Хотите закодировать файл?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (choice == DialogResult.Yes)
            {
                if (cbCoding.SelectedIndex == -1)
                {
                    MessageBox.Show("Кодировка не выбрана, кодирование не было проведено.");
                    return;
                }
                //подгрузка плагина
                Assembly assembly = Assembly.LoadFile(PluginList[cbCoding.SelectedIndex]);
                //ищем в библиотеке конкретный класс и вызываем метод Encode
                string str  = Path.GetFileNameWithoutExtension(PluginList[cbCoding.SelectedIndex]);
                object obj  = assembly.CreateInstance(str + ".CodingAlgorithms");
                Type   type = obj.GetType();
                type.GetMethod("Encode").Invoke(obj, new object[] { filePath });
            }
        }
Exemplo n.º 2
0
        private void btnSaveS_Click(object sender, EventArgs e)
        {
            if (lvService.SelectedItems.Count == 0)
            {
                return;
            }
            //создаем объект и помещаем туда выбранный из списка
            object selectedObj = new object();

            selectedObj = ObjectList[lvService.SelectedIndices[0]];

            InterfaceS serializer = (InterfaceS)Activator.CreateInstance(SerializerList[cbSerializer.SelectedIndex]);

            saveDialog.Filter = serializer.FileExtension;
            if (saveDialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            string filePath = saveDialog.FileName;

            serializer.Serialize(selectedObj, filePath);
        }