public struct S : IDisposable
{
private bool dispose;
public void Dispose()
{
dispose = true;
}
public bool GetDispose()
{
return dispose;
}
}
В примере ниже будет выведено: false false
var s = new S();
using (s)
{
Console.WriteLine(s.GetDispose());
}
Console.WriteLine(s.GetDispose());
Почему второй раз вышло false
, ведь метод Dispose()
вызвался?
Спасибо.
На эту тему есть хорошая статья от Липперта.
Конкретно на Ваш вопрос ответ будет таков: код
using (s)
{
...
}
на самом деле будет выполнен как
using (S s2=s)
{
...
}
А поскольку структуры копируются по значению, а не по ссылке, все действия будут производиться над копией, а не над исходным экземпляром. И Dispose
будет применён к копии.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В общем, белый цвет заменяется на темно-серый, хотя в TargetColor RGB равен зеленому цвету (R - 0, G - 255, B - 0)
Подсмотрел в чужом приложении что нужно перейти по ссылке например
Добрый день, подскажите, как можно дописать код? Мне нужно открыть шаблон word-файла, сделать правки и в самом конце добавить таблицуПервые...
На первые 4 вопроса ответ простой - зависит от настроекЕсли сетевой администратор истинный параноик, то в сети все будет разрешено только...