強制されます:(C++ CLIで動作するように私はRAIIロックを行う方法を探しています。私が思いついたのは:
ref class RAIIMonitor
{
RAIIMonitor();
T^ t;
public:
RAIIMonitor(T^ t_)
{
t=t_;
System::Threading::Monitor::Enter(t_);
}
~RAIIMonitor()
{
System::Threading::Monitor::Exit(t);
}
!RAIIMonitor()
{
assert(0); // you are using me wrong
}
};
利用方法:
//begining of some method in MyRefClass
RAIIMonitor<MyRefClass> monitor(this);
それで、これは正しい方法ですか、それを行う方法がない場合、はいの場合、それをより良くする方法がありますか?