Я могу встроить другие файлы в DLL?

id() фундаментальное встроенное:

Справка на встроенной функции id в модуле __builtin__:

id(...)

    id(object) -> integer

    Return the identity of an object.  This is guaranteed to be unique among
    simultaneously existing objects.  (Hint: it's the object's memory
    address.)

В целом, с помощью имен переменной, которые затмевают ключевое слово или встроенную функцию на любом языке, плохая идея, даже если это позволяется.

11
задан Eric Anastas 11 December 2009 в 20:29
поделиться

4 ответа

Конечно, просто сделайте их «встроенным ресурсом» в VS.NET (если вы его используете). Затем вы можете прочитать их через API ресурсов или просто с помощью Assembly.GetManifestResourceStream () .

6
ответ дан 3 December 2019 в 07:38
поделиться

Конечно, вы можете встроить ресурс в свою DLL. Затем во время выполнения вы просто делаете:

Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("com.stackoverflow.plugin.example.Foo.pdf");

Это даст вам поток в файл Foo.pdf , встроенный в вашу DLL. Обратите внимание на тот факт, что имя ресурса должно быть ограничено пространством имен типа, из которого вы вызываете метод.

9
ответ дан 3 December 2019 в 07:38
поделиться

Да, вы можете это сделать.

Добавьте файл ресурсов в свой проект. Откройте файл ресурсов в Visual Studio и нажмите Вставить ресурс. Вы можете выбрать различные типы ресурсов, включая внешние файлы.

Visual Studio сгенерирует для вас код, чтобы вы могли извлекать файлы в виде байтовых массивов во время выполнения по их именам с помощью идентификатора Resources .

1
ответ дан 3 December 2019 в 07:38
поделиться

В качестве альтернативы, если вам нужно распаковать и сохранить файлы на компьютере пользователя (скажем, файл chm, доступ к которому вы хотите получить вне приложения), вы также можете сделать то же самое с zip-файлами.

Вы сказали, что хотите «перетащить» файл в ваше приложение. Просто попросите ваши события DDE проверить, является ли файл zip-файлом (возможно, даже используя что-то вроде jar-файла с метаданными), и распакуйте необходимые файлы, включая сам плагин.

Это та же идея, что и в документации openxml, они есть на самом деле просто замаскированные молнии.

0
ответ дан 3 December 2019 в 07:38
поделиться
Другие вопросы по тегам:

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