我有一个通用函数,我想检查类型参数是否是一个接口。无论如何要这样做?提前致谢!如何检查类型参数是否实际上是一个接口
4
A
回答
9
使用的Type
的IsInterface
属性..
public void DoCoolStuff<T>()
{
if(typeof(T).IsInterface)
{
//TODO: Cool stuff...
}
}
+0
就像在桶里拍摄鱼一样! – 2010-08-16 03:46:38
4
您可以显式检查使用typeof
运营商和Type.IsInterface
财产泛型类型参数。
void MyMethod<T>() {
bool isInterface = typeof(T).IsInterface;
}
5
如果你想约束您的通用方法,以便类型参数只能实现一些特定接口并没有什么意外的话,你应该做以下类型:
void YourGenericMethod<T>() where T : IYourInterface {
// Do stuff. T is IYourInterface.
}
+0
+1我没有想过,但这可能是OP试图解决的实际问题。 – 2010-08-16 03:57:23
+0
这是最佳做法 – 2010-08-16 03:58:18
相关问题
- 1. C#如何检查一个类是否实现泛型接口?
- 2. 如何检查是否一个类实现一个接口
- 3. 检查一个类型参数是一个特定的接口
- 4. 如何检查方法参数是否实现多个接口
- 5. PHP检查是否实际类实现接口
- 6. 如何检查类类型,看看它是否实现了一个接口
- 7. 检查类是否实现接口
- 8. TypeScript - 检查类是否实现接口
- 9. Golang检查接口类型是否为
- 10. 检查类型是否为接口
- 11. 如何检查是否AWS实例实际上是提供
- 12. 检查一个接口是否在编译时通过一个类型实现
- 13. 检查PDF是否实际上是一个带有PHP的PDF
- 14. 如何检查是否泛型类型实例从另一个“继承”,既泛型类型和参数类型
- 15. 查明一个类型是否实现了通用接口
- 16. 如何检查一个变量是否是整数类型
- 17. 检查TypeElement是否是类或接口
- 18. 如何检查一个实例是否为枚举类型
- 19. 如何检查接口对象是否实现另一个接口?
- 20. 如何检查一个类是否实现NRefactory中的接口方法
- 21. 如何判断一个类是否是java接口的实现
- 22. 如何检查泛型类型参数是否为空?
- 23. 检查一个类型是否是Haskell中的Show实例?
- 24. 如何检测long类型是否实际为NULL?
- 25. 检查对象是否实现接口
- 26. 如何检查模板的参数类型是否为整数?
- 27. 如何检查一个对象是否是Blob类型?
- 28. 检查一个类是否在运行时实现了一个接口
- 29. Java - 检查一个对象(类)是否实现了一个接口
- 30. 如何检查一个对象是否实现了一个接口?
一个特定的接口或任何接口? – 2010-08-16 03:47:55