Во вкладке «Файлы» вашего проекта вам нужно найти файл project.properties. Там вы должны искать java.fx.deploy.includeDT = TRUE , установить это значение в False.
Смотрите это: http://hongouru.blogspot.com/2015/09/solved-error-building-new-project-using.html
Итератор, что синтезы компилятора реализуют IDisposable, который называет foreach, когда из цикла foreach выходят.
Итератор Располагает (), метод очистит операторы использования на раннем выходе.
, пока Вы используете итератор в цикле foreach, с помощью () блок, или называете Расположение () метод некоторым другим способом, очистка Итератора произойдет.
Соединение будет закрыто автоматически, так как Вы используете его в "использовании" блока.
Судя от это техническое объяснение , Ваш код не будет работать как ожидалось, но прерываться на втором объекте, потому что соединение было уже закрыто при возврате первого объекта.
@Joel Gauvreau: Да, я должен был продолжать читать. Часть 3 этого ряда объясняет, что компилятор добавляет специальную обработку для наконец блоков для инициирования только в реальный конец.
От простого теста я попробовал, aku является правильным, расположите, назван как только foreach выход блока.
@David: Однако стек вызовов сохранен между вызовом, таким образом, соединение не было бы закрыто, потому что на следующем вызове мы возвратимся к следующей инструкции после урожая, который является в то время как блок.
Мое понимание - то, что, когда итератор расположен, соединение было бы также расположено с ним. Я также думаю что Соединение. Близко не был бы необходим, потому что это будет заботиться о том, когда объект будет расположен из-за пункта использования.
Вот простая программа, я пытался протестировать поведение...
class Program
{
static void Main(string[] args)
{
foreach (int v in getValues())
{
Console.WriteLine(v);
}
Console.ReadKey();
foreach (int v in getValues())
{
Console.WriteLine(v);
break;
}
Console.ReadKey();
}
public static IEnumerable<int> getValues()
{
using (TestDisposable t = new TestDisposable())
{
for(int i = 0; i<10; i++)
yield return t.GetValue();
}
}
}
public class TestDisposable : IDisposable
{
private int value;
public void Dispose()
{
Console.WriteLine("Disposed");
}
public int GetValue()
{
value += 1;
return value;
}
}