Я задал вопрос ранее сегодня, но думаю, что мне нужно подойти к нему по-другому (к тому же произошло «зависание» в отношении DataSet).
Вот класс, который инкапсулирует создание шрифта (другими словами, он читает данные из файла xml и создает шрифт во время выполнения на основе того, что он читает из этого файла):
public class FontCreator
{
private Font m_TheFont = null;
public FontCreator( ... some parameters ... )
{
m_TheFont = GetTheFont();
}
public Font TheFont
{
return m_TheFont;
}
private Font GetTheFont()
{
// code, and more code, that eventually leads to:
Font f = new Font(fntFamily, fntSize, fntStyle);
return f;
}
}
Потребитель класса FontCreator выглядит примерно так:
public class TheConsumer()
{
private FontCreator m_FontCreator = null;
public TheConsumer()
{
m_FontCreator = new m_FontCreator( ... some parameters ... );
Initialize();
}
private void Initialize()
{
InitializeThis();
InitializeThat();
}
private void InitializeThis()
{
.... some code ...
SomeObject.ApplyFont(m_FontCreator.TheFont);
}
private void InitializeThat()
{
... some code ...
SomeObject.ApplyFont(m_FontCreator.TheFont);
}
}
Какой код вы добавляете и где, чтобы явно вызывать метод Dispose для TheFont?