Esempio n. 1
0
        private void dumpResourcesOfSelectedAssemblyToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var selNode = tvNodes.SelectedNode;

            TreeNode n = selNode;

            while (n != null && n.Parent != null)
            {
                n = n.Parent;
            }

            if (n is AssemblyNode)
            {
                Assembly a = ((AssemblyNode)n).Assembly;

                try
                {
                    using (FolderBrowserDialog dlg = new FolderBrowserDialog())
                    {
                        dlg.Description = "Save resources of the '" + a.FullName + "' assembly";

                        if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                        {
                            var invalidChars = System.IO.Path.GetInvalidPathChars();
                            foreach (var resourceName in a.GetManifestResourceNames())
                            {
                                using (System.IO.Stream s = a.GetManifestResourceStream(resourceName))
                                {
                                    string cleanName = new string(resourceName.Select(c => (invalidChars.Contains(c) ? '_' : c)).ToArray());
                                    string path      = System.IO.Path.Combine(dlg.SelectedPath, cleanName);
                                    System.IO.File.WriteAllBytes(path, s.ReadToEnd());
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Unable to save resource: " + ex.GetType().FullName + " - " + ex.Message);
                }
            }
        }
Esempio n. 2
0
File: Font.cs Progetto: kuviman/Q
        public Font(System.IO.Stream stream, double emSize, Style style = Style.Regular) : this()
        {
            autoAdjustSize = emSize < 0;
            byte[] fontBytes = stream.ReadToEnd();
            var    handle    = GCHandle.Alloc(fontBytes, GCHandleType.Pinned);
            IntPtr pointer   = handle.AddrOfPinnedObject();

            try {
                pfc.AddMemoryFont(pointer, fontBytes.Length);
            } finally {
                handle.Free();
            }
            var family = pfc.Families[0];

            if (emSize < 0)
            {
                emSize = 20;
            }
            font = new SFont(family, (float)emSize, (FontStyle)style);
        }
        public ITransformFixtureInputSetup Message <TSchema>(System.IO.Stream message, XmlSchemaContentProcessing contentProcessing)
            where TSchema : SchemaBase, new()
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            var partCount           = Messages.Count;
            var validatingXmlReader = XmlReader.Create(
                message,
                Be.Stateless.Xml.ValidatingXmlReaderSettings.Create(
                    contentProcessing,
                    (_, args) => throw new XmlSchemaValidationException(
                        $"Transform's input message #{partCount + 1} failed '{typeof(TSchema).Name}' schema validation for the following reason:{Environment.NewLine}{args.Severity}: {args.Message}{Environment.NewLine}{Environment.NewLine}The message's content is:{Environment.NewLine}{message.ReadToEnd()}{Environment.NewLine}",
                        args.Exception),
                    new TSchema().CreateResolvedSchema()));

            Messages.Add(validatingXmlReader.AsStream());
            return(this);
        }