Вопрос

assembly.CreateInstance, result error "Constructor on type not found."

Добрый день всем.

 

Коллеги, подскажите почему данная конструкция не взлетает 

assembly.CreateInstance("Terrasoft.Configuration.ContactSchema")

всегда получаю ошибку

"Constructor on type 'Terrasoft.Configuration.ContactSchema' not found."

Хотя у любых других Классов их инстансы я получаю. Я понимаю что в Terrasoft.Core есть методы по получению Инстенсов по Имени или через UID схемы. Но мне в задачи требуется создать Инстенс схемы, или через данную конструкцию, что описал выше или через Activator.CreateInstanse. Помогите пожалуйста как правильно работать со схемами таблиц через данные конструкции. Спасибо.

Нравится

3 комментария
Лучший ответ

Власов Михаил Викторович,

Можно так

var contact = new Terrasoft.Configuration.Contact(_userConnection);

Если вас интересует именно через рефлексию, то нужно смотреть описание каждого класса, создавать параметры и передавать их в конструктор. Подробнее в https://docs.microsoft.com/ru-ru/dotnet/api/system.reflection.assembly…

Добрый день!
У ContactSchema нет конструктора без параметров.

Сидоров Александр В.,

И как правильно тогда мне создать Инстенс Контактов, Контрагентов ?

плюс как мне определить у каких схем конструкторы без параметров у каких с параметрами? не просматривая каждую схему, программным путем как то это можно сделать. Но больше всего волнует как правильно создать через конструкцию assembly.CreateInstanse. Подскажите пожалуйста спасибо.

Власов Михаил Викторович,

Можно так

var contact = new Terrasoft.Configuration.Contact(_userConnection);

Если вас интересует именно через рефлексию, то нужно смотреть описание каждого класса, создавать параметры и передавать их в конструктор. Подробнее в https://docs.microsoft.com/ru-ru/dotnet/api/system.reflection.assembly…

Показать все комментарии