Стоит отметить, что sizeof
не помогает при работе со значением массива, которое распалось на указатель: хотя он указывает на начало массива, компилятору он совпадает с указателем на один элемент этого массива. Указатель не «помнит» ничего о массиве, который использовался для его инициализации.
int a[10];
int* p = a;
assert(sizeof(a) / sizeof(a[0]) == 10);
assert(sizeof(p) == sizeof(int*));
assert(sizeof(*p) == sizeof(int));
Ninject по умолчанию связывает компоненты временного образа жизни, а Ninject не отслеживает временные экземпляры. Resolve используется внутри компании и не должен использоваться вашим кодом, если вы действительно не знаете, что делаете. Если вы хотите смоделировать свой контейнер, используйте расширение ninject.moq на github. Метод инъекции, о котором вы говорите, предназначен для экземпляров, которые вы создали сами. Используйте методы Get и TryGet.