コードインスペクション:共有静的型パラメーターにはアンマネージ制約が必要です
このインスペクションは、 T が管理対象外ではない場合の SharedStatic<T> の使用状況を報告します。
SharedStatic<T> は、管理対象外のデータを対象としています。 型引数に object、 string 、クラス参照、その他の管理対象メンバーなどの管理対象フィールドが含まれている場合、このインスペクションは GetOrCreate 呼び出し時に警告を発します。
サンプル
この例では、 SharedValue 構造体には object フィールドが含まれているため、マネージド型となります。 そのため、 SharedStatic<T> の型引数として使用することはできません。
using Unity.Burst;
public struct SharedValue
{
public int count;
public object tag;
}
public class Example
{
private void Create()
{
// Reported: SharedValue is not unmanaged
var value = SharedStatic<SharedValue>.GetOrCreate<int>();
}
}
using Unity.Burst;
public struct SharedValue
{
public int count;
public double tag;
}
public class Example
{
private void Create()
{
// Correct: SharedValue is fully unmanaged
var value = SharedStatic<SharedValue>.GetOrCreate<int>();
}
}
クイックフィックス
このインスペクションには専用のクイックフィックス機能がありません。 SharedStatic<T> 型の引数を完全にアンマネージドにすることで、手動で修正してください。
2026 年 6 月 12 日