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