|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Привет. Есть такая задача. Я хочу вызывать динамически функцию из внешней библиотеки. Я пытаюсь присвоить свойству или полю значение, а потом передасть его вместо типа. Мне выдаётся соообщение, что я использую свойство, как тип. Как можно сделать такое преобразование? Допустим, я присвоил для свойства d2 значение bool, а для d4 значение string. Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 12:07 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Cytrus Привет. Есть такая задача. Я хочу вызывать динамически функцию из внешней библиотеки. Я пытаюсь присвоить свойству или полю значение, а потом передасть его вместо типа. Мне выдаётся соообщение, что я использую свойство, как тип. Как можно сделать такое преобразование? Никак - такое не поддерживает ни механизм p/invoke, ни сам язык. Что-то более-менее приближенное можно изобразить с помощью ручной загрузки неуправляемой dll (LoadLibrary), затем поиска нужной функции (GetProcAddress), далее получением делегата через вызов Marshal.GetDelegateForFunctionPointer<TDelegate>(IntPtr) (и нужно еще следить, чтобы сигнатура найденной функции соответствовала сигнатуре делегата). На практике всё это проще заместить явными вызовами конкретных функций, завернув логику их выбора в класс, реализующий какой-нибудь [порождающий] паттерн - конкретика зависит от того, что требуется в итоге. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 13:27 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, а существует ли в C# такие функции, которые исполняют код, заключённый в кавычки. Наподобие Eval в JavaScript или Execute в AutoIt? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 09:48 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Cytrus, CodeDOM ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 12:46 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Cytrus Сон Веры Павловны, а существует ли в C# такие функции, которые исполняют код, заключённый в кавычки. Наподобие Eval в JavaScript или Execute в AutoIt? Можно JavaScript исполнять внутри C#. https://github.com/sebastienros/jint ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 13:06 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Cytrus Сон Веры Павловны, а существует ли в C# такие функции, которые исполняют код, заключённый в кавычки. Наподобие Eval в JavaScript или Execute в AutoIt? Если на нравится JavaScript, можете Lua https://www.moonsharp.org/ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 13:07 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Скриптинг тоже можно, но для embedded скриптинга, C# плохо подходит. Нужно заточенные под это языки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 13:08 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
Всем спасибо, буду смотреть эти варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 14:35 |
|
Преоброзование свойства в тип
|
|||
---|---|---|---|
#18+
вот еще на заметку. https://github.com/oleg-shilo/cs-script ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2020, 15:04 |
|
|
start [/forum/topic.php?fid=20&fpage=11&tid=1398570]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 245ms |
total: | 412ms |
0 / 0 |