3
class CFoo 
{
       private string _filePathFormatString;

       public string Foo()
       {
            System.Threading.Thread.VolatileRead(ref _filePathFormatString);
            ...
       }   
}

string はオブジェクトですが、なぜこれVolatileReadがコンパイルされないのですか? VolatileRead(ref object)署名と一致する必要があると思います。

4

1 に答える 1

1

C# で "ref" を使用してパラメーターを渡す場合、仮パラメーターと実パラメーターの型は完全に同じでなければなりません。したがって、フィールドをオブジェクトのタイプに変更できます。2 番目の方法は、揮発性読み取りの代わりにReaderWriteLockSlimを使用することです。

于 2012-07-20T09:53:27.700 に答える