- 型パラメーターの制約に
System.Enum型があるだけ struct制約は付かない。
- 型パラメーターにカスタム属性
System.Runtime.CompilerServices.IsUnamagedAttributeが適用されているかどうか。なお、拡張メソッドと同じく、属性の型のアセンブリ名は無視される。C# 8 previewコンパイラーは、この属性をコンパイル結果のアセンブリに生成している。 - 型パラメーターに
modreqとしてSystem.Runtime.InteropServices.UnmanagedTypeが指定されている。 struct制約も同時に付く。
- 型に
System.Runtime.CompilerServices.IsReadOnlyAttributeが適用されている。
- 型に
System.Runtime.CompilerServices.IsByRefLikeAttributeが適用されている。