Сообщение Re[6]: Использование в TypeScript классов .Net от 13.01.2017 11:53
Изменено 13.01.2017 12:18 Serginio1
Re[6]: Использование в TypeScript классов .Net
Здравствуйте, Sinix, Вы писали:
S>Если есть человек пять, которые несколько лет будут работать на доведение до ума интеропа, биндинга и прочего-прочего-прочего — ок. Если нет — затея из серии писать в одно лицо СУБД.
Там интеропа то нет. Есть просто вызов нескольких статических методов .Net.
Плюс один нативный метод для событий.
То есть на стороне н
Вот и все взаимодействи на стороне натива.
А вот на стороне .Net там немного покруче. Там и параметы массивы, ref параметры, автовывотд дженерик типов, поиск методов расширений и опять же с дженериками.
Но то, что сделано на строне .Net легко применить при любом изменении WEB плугина
Опять же есть поддержка событий и асинхронных методов через динамическую компиляцию.
S>Если есть человек пять, которые несколько лет будут работать на доведение до ума интеропа, биндинга и прочего-прочего-прочего — ок. Если нет — затея из серии писать в одно лицо СУБД.
Там интеропа то нет. Есть просто вызов нескольких статических методов .Net.
Плюс один нативный метод для событий.
typedef bool(STDMETHODCALLTYPE *ManagedCallAsFunc)(const __int32, const wchar_t*, tVariant* pvarRetValue, tVariant* paParams, const __int32 lSizeArray);
typedef int(STDMETHODCALLTYPE *ManagedGetNParams)(const __int32, const wchar_t*);
typedef bool(STDMETHODCALLTYPE *ManagedGetPropVal)(const __int32, const wchar_t*, tVariant*);
typedef bool(STDMETHODCALLTYPE *ManagedSetPropVal)(const __int32, const wchar_t*, tVariant*);
typedef void(STDMETHODCALLTYPE *ManagedSetDelegate)(void*(*) (long), void(*) (const wchar_t*), void(*) (wchar_t*, wchar_t*,wchar_t*));
typedef void(STDMETHODCALLTYPE *ManagedDeleteObject)(const __int32);
typedef void(STDMETHODCALLTYPE *ManagedSetPath)(const wchar_t*);То есть на стороне н
bool BaseNetObjectToNative::SendEvent(wchar_t *Data)
{
return m_iConnect->ExternalEvent(L"NetObjectToNative", L"NetObjectToNative", Data);
}Вот и все взаимодействи на стороне натива.
А вот на стороне .Net там немного покруче. Там и параметы массивы, ref параметры, автовывотд дженерик типов, поиск методов расширений и опять же с дженериками.
Но то, что сделано на строне .Net легко применить при любом изменении WEB плугина
Опять же есть поддержка событий и асинхронных методов через динамическую компиляцию.
Re[6]: Использование в TypeScript классов .Net
Здравствуйте, Sinix, Вы писали:
S>Если есть человек пять, которые несколько лет будут работать на доведение до ума интеропа, биндинга и прочего-прочего-прочего — ок. Если нет — затея из серии писать в одно лицо СУБД.
Там интеропа то нет. Есть просто вызов нескольких статических методов .Net.
Плюс один нативный метод для событий.
То есть на стороне н
Вот и все взаимодействи на стороне натива.
А вот на стороне .Net там немного покруче. Там и параметы массивы, ref параметры, автовывотд дженерик типов, поиск методов расширений и опять же с дженериками.
Но то, что сделано на строне .Net легко применить при любом изменении WEB плугина
Опять же есть поддержка событий и асинхронных методов через динамическую компиляцию.
Опять же посмотри на Unmanaged API Reference
Я предлагаю значительно более легковесную замену. При этом сейчас нет ни Unmanaged API Reference ни Ireflect для .Net Core
S>Если есть человек пять, которые несколько лет будут работать на доведение до ума интеропа, биндинга и прочего-прочего-прочего — ок. Если нет — затея из серии писать в одно лицо СУБД.
Там интеропа то нет. Есть просто вызов нескольких статических методов .Net.
Плюс один нативный метод для событий.
typedef bool(STDMETHODCALLTYPE *ManagedCallAsFunc)(const __int32, const wchar_t*, tVariant* pvarRetValue, tVariant* paParams, const __int32 lSizeArray);
typedef int(STDMETHODCALLTYPE *ManagedGetNParams)(const __int32, const wchar_t*);
typedef bool(STDMETHODCALLTYPE *ManagedGetPropVal)(const __int32, const wchar_t*, tVariant*);
typedef bool(STDMETHODCALLTYPE *ManagedSetPropVal)(const __int32, const wchar_t*, tVariant*);
typedef void(STDMETHODCALLTYPE *ManagedSetDelegate)(void*(*) (long), void(*) (const wchar_t*), void(*) (wchar_t*, wchar_t*,wchar_t*));
typedef void(STDMETHODCALLTYPE *ManagedDeleteObject)(const __int32);
typedef void(STDMETHODCALLTYPE *ManagedSetPath)(const wchar_t*);То есть на стороне н
bool BaseNetObjectToNative::SendEvent(wchar_t *Data)
{
return m_iConnect->ExternalEvent(L"NetObjectToNative", L"NetObjectToNative", Data);
}Вот и все взаимодействи на стороне натива.
А вот на стороне .Net там немного покруче. Там и параметы массивы, ref параметры, автовывотд дженерик типов, поиск методов расширений и опять же с дженериками.
Но то, что сделано на строне .Net легко применить при любом изменении WEB плугина
Опять же есть поддержка событий и асинхронных методов через динамическую компиляцию.
Опять же посмотри на Unmanaged API Reference
Я предлагаю значительно более легковесную замену. При этом сейчас нет ни Unmanaged API Reference ни Ireflect для .Net Core