При создании новой формы в Visual Studio разработчик генерирует следующий код в файле .Designer.cs:
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
Какова цель переменной components
? Моя теория заключается в том, что я должен использовать ее для любых классов IDisposable
, которые принадлежит моей форме, которые я создаю вне Designer (поскольку Dispose
уже реализуется конструктором).
Итак, например, если моя форма имеет шрифт, я могу убедиться, что она удалена, добавив ее в components
следующим образом:
public partial class Form1 : Form
{
Font coolFont;
public Form1()
{
InitializeComponent();
this.coolFont = new Font("Comic Sans", 12);
components.Add(this.coolFont);
}
}
Это для чего? Я не смог найти никакой документации или информации об этом.