gpt4 book ai didi

c# - IsAssignableFrom 和 GetInterface 之间有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 03:01:24 24 4
gpt4 key购买 nike

在 .Net 中使用反射,有什么区别:

   if (foo.IsAssignableFrom(typeof(IBar)))

   if (foo.GetInterface(typeof(IBar).FullName) != null)

哪个更合适,为什么?

什么时候一个或另一个会失败?

最佳答案

如果您只想查看一个类型是否实现了给定的接口(interface),两者都可以,尽管 GetInterface() 可能更快,因为 IsAssignableFrom() 比 GetInterface() 进行更多的内部检查。检查 Type.GetInterfaces() 的结果可能会更快,它返回与其他两种方法都使用的相同内部列表。

关于c# - IsAssignableFrom 和 GetInterface 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/99732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com