Я пытаюсь использовать EWS API в скриптовой задаче SSIS, но у сервера нет соответствующей dll: Microsoft.Exchange.WebServices.dll
Итак, отражение - единственное решение, которое я нашел, файл dll находится на сервере, и я могу его использовать.
Мне нужно создать экземпляр подкласса абстрактного класса, но компилятор выдает следующее сообщение об ошибке: Не найден конструктор Microsoft.Exchange.WebServices.Data.SearchFilter + IsEqualTo
Я попытался использовать Microsoft.Exchange.WebServices.Data.SearchFilter + IsEqualTo, Microsoft.Exchange.WebServices.Data.SearchFilter.IsEqualTo и получить вложенный тип SearchFilter, но ни один из них не работает
Type typeSearchFilter = DLL2.GetType("Microsoft.Exchange.WebServices.Data.SearchFilter");
var typeSearchFilterIsEqualTo = typeSearchFilter.GetNestedType("IsEqualTo");
Type typeSearchFilterIsEqualTo0 = DLL2.GetType("Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo");
Type typeSearchFilterIsEqualTo1 = DLL2.GetType("Microsoft.Exchange.WebServices.Data.SearchFilter.IsEqualTo");
dynamic searcherFilter = Activator.CreateInstance(typeSearchFilterIsEqualTo, new object[] { folderSchemaDisplayName, folder})
Я ожидал создать новый экземпляр SearchFilter.IsEqualTo и передать параметры конструктору и сохранить результат в переменной, например,
dynamic searcherFilter = Activator.CreateInstance(typeSearchFilterIsEqualTo, new object[] { folderSchemaDisplayName, folder});
var filter = searcherFilter;