Click here to Skip to main content
15,922,894 members
Home / Discussions / C#
   

C#

 
QuestionHow to compel the user Pin
sachinkalse8-Jul-04 16:16
sachinkalse8-Jul-04 16:16 
AnswerRe: How to compel the user Pin
Heath Stewart8-Jul-04 16:28
protectorHeath Stewart8-Jul-04 16:28 
GeneralRe: How to compel the user Pin
sachinkalse8-Jul-04 18:10
sachinkalse8-Jul-04 18:10 
GeneralRe: How to compel the user Pin
Ray Cassick8-Jul-04 19:31
Ray Cassick8-Jul-04 19:31 
GeneralRe: How to compel the user Pin
sachinkalse8-Jul-04 20:16
sachinkalse8-Jul-04 20:16 
GeneralRe: How to compel the user Pin
Heath Stewart8-Jul-04 19:59
protectorHeath Stewart8-Jul-04 19:59 
GeneralRe: How to compel the user Pin
sachinkalse8-Jul-04 21:03
sachinkalse8-Jul-04 21:03 
GeneralRe: How to compel the user Pin
Heath Stewart9-Jul-04 2:57
protectorHeath Stewart9-Jul-04 2:57 
You implement IDisposable by, well, implementing IDisposable. It's just like any other object, and callers are suppose to call Dispose on any IDisposable implementation. Again, though, you can't force them (and doing this in the finalizer is not a good idea since the object could be finalized quite some time later).

You should implement IDisposable using the common approach:
public class RtfWriter // Or whatever it's called
{
  public RtfWriter()
  {
    RtfHeader(); // Or use an initialization pattern like you are now
  }
  ~RtfWriter()
  {
    Dispose(false);
  }
  protected virtual void Dispose(bool disposing)
  {
    // 'disposing' is false to release unmanaged resources;
    // true to release both unmanaged and managed resources.
    if (disposing)
    {
      RtfEnd(); // Don't call if the finalizer was called
    }
  }
  void IDisposable.Dispose()
  {
    Dispose(true);
  }
}
On another side note, your naming convention isn't consistent. You should either define RtfHeader and RtfFooter, or define RtfBegin and RtfEnd. Naming conventions are valuable to boosting productivity. Microsoft's entire BCL naming convention is over 95% consistent according to FxCop. Anyone who recognizing the pattern and/or knows the naming convention will most likely be more productive; if there is no pattern, this point is moot.

 

Microsoft MVP, Visual C#
My Articles
GeneralRe: How to compel the user Pin
sachinkalse11-Jul-04 22:10
sachinkalse11-Jul-04 22:10 
Generalprinting document using threads Pin
blankg8-Jul-04 14:15
blankg8-Jul-04 14:15 
GeneralChild Control Painting problem Pin
Jon_Slaughter8-Jul-04 13:16
Jon_Slaughter8-Jul-04 13:16 
GeneralRe: Child Control Painting problem Pin
Jon_Slaughter8-Jul-04 13:26
Jon_Slaughter8-Jul-04 13:26 
GeneralPostMessage Pin
kobybr8-Jul-04 11:38
kobybr8-Jul-04 11:38 
GeneralRe: PostMessage Pin
Serge Lobko-Lobanovsky9-Jul-04 3:44
Serge Lobko-Lobanovsky9-Jul-04 3:44 
GeneralRe: PostMessage Pin
kobybr9-Jul-04 8:56
kobybr9-Jul-04 8:56 
Questiondsoframer disables plugins?? Pin
Asad Hussain8-Jul-04 11:00
Asad Hussain8-Jul-04 11:00 
GeneralCopy from Excel and paste on DataGrid Pin
Ruchi Gupta8-Jul-04 10:54
Ruchi Gupta8-Jul-04 10:54 
GeneralRe: Copy from Excel and paste on DataGrid Pin
Nick Parker8-Jul-04 11:30
protectorNick Parker8-Jul-04 11:30 
GeneralRe: Copy from Excel and paste on DataGrid Pin
Heath Stewart8-Jul-04 12:10
protectorHeath Stewart8-Jul-04 12:10 
GeneralRepainting window. Pin
Nick Z.8-Jul-04 9:59
Nick Z.8-Jul-04 9:59 
GeneralRe: Repainting window. Pin
Heath Stewart8-Jul-04 11:24
protectorHeath Stewart8-Jul-04 11:24 
GeneralRe: Repainting window. Pin
Nick Z.8-Jul-04 15:24
Nick Z.8-Jul-04 15:24 
GeneralRe: Repainting window. Pin
Heath Stewart8-Jul-04 16:34
protectorHeath Stewart8-Jul-04 16:34 
GeneralRe: Repainting window. Pin
Nick Z.8-Jul-04 15:43
Nick Z.8-Jul-04 15:43 
GeneralRe: Repainting window. Pin
Nick Z.8-Jul-04 16:21
Nick Z.8-Jul-04 16:21 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.