参数约束如何工作?

How do parameter constraints work?

当您执行以下操作时,幕后发生了什么:

private static void AssertIsNotNull<T>(T x) where T : class{}

是否可以通过使用来自 Win32 命名空间的东西来获得相同的效果?

我问的原因是我想知道您是否可以在 C# 1.0 中限制参数。

要检查类型是引用类型还是值类型,可以使用

if (typeof(MyType).IsValueType)

或者如果您有对象 obj:

if (obj.GetType().IsValueType)