Interlocked.Exchangeはジェネリックで使用できませんか?
-
05-07-2019 - |
質問
Interlockedを使用する必要がある汎用クラスを作成しています。
T test1, test2;
Interlocked.Exchange<T>(ref test1, test2);
これはコンパイルされません。だから私はExchange(Object、Object)を代わりに使用することを強制されていますか?
解決
これは、ジェネリッククラスにInterlocked.Exchange<T>
と同じ制約、つまりwhere T: class
がある場合に機能します。
Interlocked.Exchange のドキュメントから:
このメソッドは参照型のみをサポートします
所属していません StackOverflow