|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Имеем некий простенький слабенький скриптовый язык. Однако он поддерживает включения кода С# Пишем, к примеру: Код: c# 1. 2. 3. 4. 5. 6. 7.
Все работает. Хотелось бы большего - вызвать библиотеку классов. В C# понятно - ссылка и вперед. Как это сделать из кода С#? MSDN обсмотрелся.)) "Есть многое на свете, друг Горацио, что и не сразу в голову придет." М. Твен "Приключения Геккельбери Финна" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 17:44 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAХотелось бы большего - вызвать библиотеку классов. Ну вы же используете: System.IO.File.CreateText -- ни что иное, как функция из библиотеки классов. В чём затык? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 19:09 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAИмеем некий простенький слабенький скриптовый язык Сами написали этот язык или речь про PowerShell? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 20:27 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
hVosttНу вы же используете: System.IO.File.CreateText -- ни что иное, как функция из библиотеки классов. В чём затык?Свою библиотеку. ДЛЛ. Делается как то через System.Reflection, но найти ничего вразумительного, типа экземпла или описания, не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 20:30 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Cat2Сами написали этот язык или речь про PowerShell? Левый скриптовый язык с нулевой функциональностью. Поддерживает включения кода c NET объектами. Мне нужно решение C# по подключению своей ДЛЛ непосредственно из С#. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 20:34 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAМне нужно решение C# по подключению своей ДЛЛ непосредственно из С#. Оно явно не лежит рядом со своим скриптовым языком, а лежит на направлении импорта DLL через Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 20:42 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Cat2Оно явно не лежит рядом со своим скриптовым языком, а лежит на направлении импорта DLL через Код: c# 1.
Это для ДЛЛ типа WinAPI. Нужно подключить NET сборку. Это возможно как-то через Reflection, когда-то видел. Сейчас найти не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 20:56 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBACat2Оно явно не лежит рядом со своим скриптовым языком, а лежит на направлении импорта DLL через Код: c# 1.
Это для ДЛЛ типа WinAPI. Нужно подключить NET сборку. Это возможно как-то через Reflection, когда-то видел. Сейчас найти не могу. Net-сборки вообще просто через using подключаются Не понимаю проблемы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:18 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Cat2Net-сборки вообще просто через using подключаются Не понимаю проблемыusing - это когда ссылка в проекте C#. Представьте, что сборку нужно загрузить по ходу пьесы, из кода, во время исполнения, с диска. Нет у вас ссылки в проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:27 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
AppDomain.Load ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:40 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAЭто возможно как-то через Reflection, когда-то видел. Сейчас найти не могу. System.Reflection.Assembly.Load ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:43 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Пока на MSDN нарыл вот это - https://msdn.microsoft.com/ru-ru/library/1009fa28(v=vs.110).aspx Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Пока неизвестно, что с этим делать дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:47 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAПока неизвестно, что с этим делать дальше? забавно свои вопросы формулируете, потренируюсь в телепатии)) Assembly.CreateInstance/Activator.CreateInstance ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:55 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAПредставьте, что сборку нужно загрузить по ходу пьесы, из кода, во время исполнения, с диска. Нет у вас ссылки в проекте. Не представляю, как это можно заранее не знать, что сборка будет нужна ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 21:59 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
LRAssembly.CreateInstance/Activator.CreateInstance ?Спасибо. похоже на то, что нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 22:15 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
В итоге получилось вот это: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Осталось перенести в текс скрипта, и можно будет вызывать из скрипта функции ДЛЛ. Может кому сгодится.)) Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 16:45 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Cat2YUBAПредставьте, что сборку нужно загрузить по ходу пьесы, из кода, во время исполнения, с диска. Нет у вас ссылки в проекте. Не представляю, как это можно заранее не знать, что сборка будет нужна ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 17:59 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
ViPRos, кстати, напомнили, еще надо очистить ресурсы после использования. Не сделал.) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 18:04 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBAViPRos, кстати, напомнили, еще надо очистить ресурсы после использования. Не сделал.) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 18:11 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
ViPRos, это я про свой экземпл. См. выше. Ваша таблица напомнила, что мне надо это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 18:17 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
YUBA, да я понял :) просто сказал а, то пришлось выложить и б ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2017, 18:26 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Перед тем как загрузить какой то класс из произвольной сборки, нужно определить какие то соглашения на то, каким должен быть получаемый экземляр класса. Для это сушествуют интерфейсы. Вы в сборке создаете класс наследованный интерфейсом, а в программе загружаете сборку, запрашивайте все классы заданного интерфейса и через класс Activator создаете экземпляры этого класса, а работаете с ним через interface. примерно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 17:54 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Roman MejtesПеред тем как загрузить какой то класс из произвольной сборки, нужно определить какие то соглашения на то, каким должен быть получаемый экземляр класса. Для это сушествуют интерфейсы....Все хорошо, только для использования в скрипте это слишком сложно. Впрочем, задача уже решена. В скрипте это выглядит примерно так. Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 01:06 |
|
Вызвать библиотеку С#?
|
|||
---|---|---|---|
#18+
Roman MejtesПеред тем как загрузить какой то класс из произвольной сборки, нужно определить какие то соглашения на то, каким должен быть получаемый экземляр класса. Для это сушествуют интерфейсы. Вы в сборке создаете класс наследованный интерфейсом, а в программе загружаете сборку, запрашивайте все классы заданного интерфейса и через класс Activator создаете экземпляры этого класса, а работаете с ним через interface. примерно так.++ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 07:30 |
|
|
start [/forum/topic.php?fid=20&msg=39391752&tid=1400094]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 142ms |
0 / 0 |