Click here to Skip to main content
15,887,083 members
Home / Discussions / C#
   

C#

 
QuestionMost efficient way of doing this? Pin
Alex Korchemniy7-Feb-04 22:31
Alex Korchemniy7-Feb-04 22:31 
GeneralZooming approach Pin
Meysam Mahfouzi7-Feb-04 18:08
Meysam Mahfouzi7-Feb-04 18:08 
GeneralRe: Zooming approach Pin
Heath Stewart7-Feb-04 19:00
protectorHeath Stewart7-Feb-04 19:00 
GeneralCombo Box problem... Pin
je_gonzalez7-Feb-04 17:27
je_gonzalez7-Feb-04 17:27 
GeneralDatabase Pin
ASGill7-Feb-04 17:16
ASGill7-Feb-04 17:16 
GeneralRe: Database Pin
Heath Stewart7-Feb-04 18:50
protectorHeath Stewart7-Feb-04 18:50 
GeneralMore Thread Troubles; not sure if it's deadlock Pin
Peter Mills7-Feb-04 14:41
Peter Mills7-Feb-04 14:41 
GeneralRe: More Thread Troubles; not sure if it's deadlock Pin
Heath Stewart7-Feb-04 18:58
protectorHeath Stewart7-Feb-04 18:58 
You can use the lock keyword against an instance of an object (use a static object like the Type - using typeof(YourClass) - for static objects, and an instance member for instance resources). This uses the Monitor when it compiles, but it does so in a better way than what you've done (which doesn't take exceptions into account). For example, the following block:
lock(typeof(MyClass))
{
  // Do something
}
translates to
Monitor.Enter(typeof(MyClass));
try
{
  // Do something
}
finally
{
  Monitor.Exit(typeof(MyClass));
}
This way, if an exception occurs where the comment is, the handle is unlocked. There are many other locking mechanisms you should read about in the System.Threading namespace class documentation in the .NET Framework SDK.

Note also that any implementation of ICollection must implement a SyncRoot (a property that returns an object that can be locked) that you can use to synchronize access to a collection or list. Other classes have such support, too, and some even can generate a synchronized instance for you (see Hashtable.Synchronized, for example).

 

Microsoft MVP, Visual C#
My Articles
GeneralWell it's got me stumped Pin
Rob Manderson7-Feb-04 14:08
protectorRob Manderson7-Feb-04 14:08 
GeneralRe: Well it's got me stumped Pin
Rob Manderson7-Feb-04 16:25
protectorRob Manderson7-Feb-04 16:25 
GeneralRe: Well it's got me stumped Pin
Heath Stewart7-Feb-04 19:08
protectorHeath Stewart7-Feb-04 19:08 
GeneralRe: Well it's got me stumped Pin
Rob Manderson7-Feb-04 22:25
protectorRob Manderson7-Feb-04 22:25 
GeneralRe: Well it's got me stumped Pin
Heath Stewart8-Feb-04 5:40
protectorHeath Stewart8-Feb-04 5:40 
QuestionHow to make panel scroll when scrollbar is moved? Pin
rul3037-Feb-04 13:45
rul3037-Feb-04 13:45 
AnswerRe: How to make panel scroll when scrollbar is moved? Pin
Heath Stewart7-Feb-04 19:12
protectorHeath Stewart7-Feb-04 19:12 
GeneralRe: How to make panel scroll when scrollbar is moved? Pin
rul3038-Feb-04 7:02
rul3038-Feb-04 7:02 
GeneralRe: How to make panel scroll when scrollbar is moved? Pin
Heath Stewart8-Feb-04 7:07
protectorHeath Stewart8-Feb-04 7:07 
GeneralGUID Conversion Pin
Tristan Rhodes7-Feb-04 8:34
Tristan Rhodes7-Feb-04 8:34 
GeneralRe: GUID Conversion Pin
Heath Stewart7-Feb-04 19:19
protectorHeath Stewart7-Feb-04 19:19 
GeneralRe: GUID Conversion Pin
Tristan Rhodes7-Feb-04 21:08
Tristan Rhodes7-Feb-04 21:08 
GeneralRe: GUID Conversion Pin
leppie7-Feb-04 23:23
leppie7-Feb-04 23:23 
GeneralRe: GUID Conversion Pin
Heath Stewart8-Feb-04 5:32
protectorHeath Stewart8-Feb-04 5:32 
GeneralRe: GUID Conversion Pin
Tristan Rhodes8-Feb-04 8:36
Tristan Rhodes8-Feb-04 8:36 
GeneralRe: GUID Conversion Pin
Nick Parker8-Feb-04 5:45
protectorNick Parker8-Feb-04 5:45 
GeneralCreating an instance of an object ... Pin
Andres Coder7-Feb-04 7:36
Andres Coder7-Feb-04 7:36 

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.