2009-04-14 7 views
2

J'ai un gestionnaire qui détient les connexions au serveur. Je maintiens la connexion active et je veux que mes threads demandent des connexions quand c'est nécessaire. Ma question estComment suivre les Objs en cours d'utilisation, C#

Comment puis-je avoir des objets de suivi automatiquement? Je voudrais qu'il fonctionne comme pointeur de portée. Je demande une connexion, puis quand mon obj est hors de portée, il dit au manager qu'il n'est plus utilisé. Je ne vais pas le contourner comme un pointeur. Je vais faire quelque chose comme

{ 
Obj = Man.GetObj(); 
//some loop 
    Obj.DoSomething() 
} //auto tell man that obj is no longer in use 

Répondre

6

Vous pouvez créer votre propre objet wrapper et met en œuvre IDisposable. Dans la méthode Dispose(), signalez au gestionnaire que vous n'êtes plus utilisé. Vous pouvez alors votre déclaration comme ...

using(Obj obj = Man.GetObj()) 
{ 
    Obj.DoSomething(); 
} 

Le bloc using appelle automatiquement la méthode Dispose() à la fin de la portée.

1

implémentent l'interface IDisposable, et utiliser le mot-clé utilisant

 

class MyClass : IDisposable 
{ 
    void Dispose() 
    {} 
} 

using(MyClass obj = Man.GetObj()) 
{ 
    obj.DoSomething(); 
}// obj.Dispose() will be called when the object goes out of scope. 


Questions connexes