gpt4 book ai didi

c# - TypeDescriptor.GetProperties 与 Type.GetProperties

转载 作者:太空狗 更新时间:2023-10-29 20:08:25 30 4
gpt4 key购买 nike

我正在查看 MSDN 作者在同一类的不同方法中使用以下代码的一些代码:

if ( TypeDescriptor.GetProperties(ModelInstance)[propertyName] != null ) return;

var property = ModelInstance.GetType().GetProperty(propertyName);

您会使用前者吗,因为它更快,而且您只需要查询一个属性,而如果您需要操作它,您会使用后者吗?还有别的吗?

最佳答案

第一种方法通常不会更快,因为在内部默认情况下它实际上使用第二种方法。 TypeDescriptor 架构在普通反射(instance.GetType().GetProperty(...) 表示的基础上添加了功能。有关 TypeDescriptor 架构的更多信息,请参阅 http://msdn.microsoft.com/en-us/library/ms171819.aspx

一般来说,直接使用反射会更快(即上面的第二行),但如果正在使用某些自定义类型提供程序可能会返回标准反射以外的其他结果,则可能有使用 TypeDescriptor 的原因。

关于c# - TypeDescriptor.GetProperties 与 Type.GetProperties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573913/

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