Адаптированный код для включения проверки свойств массива существует до их обращения:
$vendel = array();
$indexArray = array();
foreach ($vd_arr as $miniarray) {
// Skips adding this mini array if an ID is note present
if(($id = isset($miniarray['id']) ? $miniarray['id'] : null) === null) {
continue;
}
// The default values at the end of these lines can be swapped out for more suitable defaults
$qty = isset($miniarray['qty']) ? $miniarray['qty'] : 0;
$delivnote_id = isset($miniarray['delivnote_id']) ? $miniarray['delivnote_id'] : null;
$vendel[$id]['id'] = $id;
$vendel[$id]['qty'] += $qty;
$vendel[$id]['delivnote_id'] = $delivnote_id;
}
foreach($vendel as $value) {
$indexArray[] = $value;
}
return $indexArray;
Это также пропускает добавление элемента $ miniarray, который не имеет идентификатора.
Если MyTools.dll расположен в том же каталоге как Addon.dll , все, что необходимо сделать, звонить Assembly.LoadFrom
вместо Assembly.LoadFile
, чтобы заставить код работать. Иначе обрабатывая AppDomain.AssemblyResolve
событие является способом пойти.
Вы изучили использование Инверсия Управления контейнер? Я использую замок Windsor с внешним файлом Шиканья, который позволяет мне легко расширить applcation, не имея необходимость перекомпилировать или волноваться о предоставлении зависимостей
Можно использовать отражение для доступа к частному Assembly.
_GetReferencedAssemblies()
.
, Хотя, метод мог изменение в будущей версии платформы.NET, не кажется, что likely— ASP.NET в большой степени зависит от него, хотя возможно, что они могли переместить его от mscorlib
до System.Web
, который является единственным блоком, о котором я знаю от того, где метод упомянут.
Блок. LoadFrom работает хорошо, пока я не пытаюсь использовать веб-сервис в своем дополнении, я имел" Неспособный бросить объект типа 'X' к типу 'X' " исключение.
Это ужасно, но я буду использовать блок. LoadFile с AppDomain. AssemblyResolve.
парни Спасибо.
Несколько опций:
AppDomain.AssemblyResolve
, чтобы помочь CLR разрешить блок. AppDomain
(см. System.AddIn
пространство имен и этот веб-сайт ).