質問

Interlockedを使用する必要がある汎用クラスを作成しています。

T test1, test2;
Interlocked.Exchange<T>(ref test1, test2);

これはコンパイルされません。だから私はExchange(Object、Object)を代わりに使用することを強制されていますか?

役に立ちましたか?

解決

これは、ジェネリッククラスにInterlocked.Exchange<T>と同じ制約、つまりwhere T: classがある場合に機能します。

Interlocked.Exchange のドキュメントから:

  

このメソッドは参照型のみをサポートします

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top