当我的变量是通用的时,我在检查变量的类型时遇到了一些问题。
例子T是List<MyClass>
T is List<MyClass>
//return false
T is List
//return false
Run Code Online (Sandbox Code Playgroud)
最后,我不得不使用一些愚蠢的方法才能得到正确的答案
T.toString() == "List<MyClass>"
//return true
Run Code Online (Sandbox Code Playgroud)
有没有标准的方法来处理,还是我需要坚持我的愚蠢方法直到正式发布?
我之前犯过“T is SomeClass”错误。T 是一个类,所以“是”对它不起作用。
在你应该使用的元素上T == MyClass。
在列表上,您应该实例化一个列表,例如List<MyClass>() is T。
这不是一个干净的解决方案,但List<MyClass> == T并List<MyClass>() == T不会起作用。不幸的是,直到现在我还没有想出任何更好的解决方案。希望它有效。