Как я эффективно сохраняю объект шрифта .NET?

Ключевое слово let - это объявление констант, которые нельзя изменить. Если вы хотите изменить переменную, вы должны использовать var вместо этого, например:

var animals = ["cats", "dogs", "chimps", "moose"]

animals.remove(at: 2)  //["cats", "dogs", "moose"]

Альтернатива без мутаций, которая сохранит исходную коллекцию без изменений, заключается в использовании filter для создания новой коллекции без элементов, которые вы хотите удалить, например:

let pets = animals.filter { $0 != "chimps" }
6
задан Gishu 23 September 2008 в 01:55
поделиться

3 ответа

Использование TypeConverter:

Font font = new Font("Arial", 12, GraphicsUnit.Pixel);

TypeConverter converter = TypeDescriptor.GetConverter(typeof (Font));

string fontStr = converter.ConvertToInvariantString(font);

Font font2 = (Font) converter.ConvertFromString(fontStr);

Console.WriteLine(font.Name == font2.Name); // prints True

Если Вы хотите использовать сериализацию XML, можно создать обертку Класса шрифта, которая сохранит некоторое подмножество Свойств шрифта.

Отметьте (Gishu) - Никогда не получают доступ к конвертеру типов непосредственно. Вместо этого получите доступ к соответствующему преобразователю при помощи TypeDescriptor. Очень важный :)

10
ответ дан 10 December 2019 в 00:46
поделиться

В проекте я продолжаю работать, я пошел с несколькими свойствами.

Я сохраняю шрифт к таблице базы данных, вспыхивая ее имя, размер, стиль и единица и затем сохраняю те значения.

При воссоздании шрифта по требованию, после того как эти значения являются retrived, снимок.

0
ответ дан 10 December 2019 в 00:46
поделиться

В каком хранилище данных необходимо сохранить это? Если это - просто пользовательские настройки, которые могут быть сохранены в файле, Вы могли сериализировать объект шрифта в файл настроек или в двоичном файле или в xml (если Вы хотите смочь отредактировать файл конфигурации непосредственно). Пространства имен сериализации (Система. Xml. Сериализация и Система. Время выполнения. Сериализация), обеспечивают все инструменты, чтобы сделать это, не пишущий пользовательский код.

Сайт MSDN на сериализации XML: сериализация XML в.Net Framework

[РЕДАКТИРОВАНИЕ] Так aparrently объект шрифта не является сериализуемым. ой :( Извините.

0
ответ дан 10 December 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: