Единица является библиотекой как многие другие, которая позволяет Вам получать экземпляр требуемого типа, не имея необходимость создавать ее самим. Так данный.
public interface ICalculator
{
void Add(int a, int b);
}
public class Calculator : ICalculator
{
public void Add(int a, int b)
{
return a + b;
}
}
Вы пользовались бы библиотекой как Единица для регистрации Калькулятора, который будет возвращен, когда тип, ICalculator требуют иначе МОК (Инверсия Управления) (этот пример является теоретическим, не технически корректным).
IoCLlibrary.Register<ICalculator>.Return<Calculator>();
Поэтому теперь, когда Вы хотите экземпляр ICalculator Вы просто...
Calculator calc = IoCLibrary.Resolve<ICalculator>();
библиотеки IoC могут обычно настраиваться, чтобы или содержать одиночный элемент или создать новый экземпляр каждый раз, когда Вы разрешаете тип.
Теперь скажем, у Вас есть класс, который полагается на ICalculator для присутствования, Вы могли иметь..
public class BankingSystem
{
public BankingSystem(ICalculator calc)
{
_calc = calc;
}
private ICalculator _calc;
}
И можно установить библиотеку для введения объекта в конструктора, когда она создается.
Так DI или Внедрение зависимости означает вводить любой объект, которого другой мог бы потребовать.
Эта проблема объясняется здесь
Чтобы получить правильные размеры в IE, вам необходимо установить display: hidden
visibility: hidden
. Однако убедитесь, что вы установили его только в том случае, если браузер - это IE.
Изменить попробуйте это (у меня работает)
var img = document.createElement('img');
img.src = 'blah.jpg';
img.width = '3000';
img.height = '1000';
img.style.visibility = 'hidden';
document.body.appendChild(img);
// should work correctly
alert('width: ' + img.width + ' | height: ' + img.height);
Вам понадобится единица измерения:
var img = document.createElement('img');
img.src = 'blah.jpg';
img.style.display = 'none';
img.style.width = '100px';
img.style.height = '100px';
document.body.appendChild(img);
// IE: width: 100 | height: 100
// FF: width: 100 | height: 100
alert('width: ' + img.style.width + ' | height: ' + img.style.height);
Не забудьте добавить единицу измерения «px». Используйте element.style.width
и element.style.height
вместо element.width
и element.height
соответственно для кросс-браузерной совместимости. .