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.)
В целом, с помощью имен переменной, которые затмевают ключевое слово или встроенную функцию на любом языке, плохая идея, даже если это позволяется.
Конечно, просто сделайте их «встроенным ресурсом» в VS.NET (если вы его используете). Затем вы можете прочитать их через API ресурсов или просто с помощью Assembly.GetManifestResourceStream () .
Конечно, вы можете встроить ресурс в свою DLL. Затем во время выполнения вы просто делаете:
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("com.stackoverflow.plugin.example.Foo.pdf");
Это даст вам поток в файл Foo.pdf
, встроенный в вашу DLL. Обратите внимание на тот факт, что имя ресурса должно быть ограничено пространством имен типа, из которого вы вызываете метод.
Да, вы можете это сделать.
Добавьте файл ресурсов в свой проект. Откройте файл ресурсов в Visual Studio и нажмите Вставить ресурс. Вы можете выбрать различные типы ресурсов, включая внешние файлы.
Visual Studio сгенерирует для вас код, чтобы вы могли извлекать файлы в виде байтовых массивов во время выполнения по их именам с помощью идентификатора Resources
.
В качестве альтернативы, если вам нужно распаковать и сохранить файлы на компьютере пользователя (скажем, файл chm, доступ к которому вы хотите получить вне приложения), вы также можете сделать то же самое с zip-файлами.
Вы сказали, что хотите «перетащить» файл в ваше приложение. Просто попросите ваши события DDE проверить, является ли файл zip-файлом (возможно, даже используя что-то вроде jar-файла с метаданными), и распакуйте необходимые файлы, включая сам плагин.
Это та же идея, что и в документации openxml, они есть на самом деле просто замаскированные молнии.