gpt4 book ai didi

c# - Type.GetType() 是否会根据您正在检索的对象的大小和复杂性而变慢?

转载 作者:太空狗 更新时间:2023-10-29 17:45:13 25 4
gpt4 key购买 nike

我有一个应用程序,今天正在使用基本反射来抓取类。

Type type = Type.GetType(mynamespace.myclassname);
object o = System.Activator.CreateInstance(type);

我想看看反射的运行效率如何,所以我以这种方式生成了大约 150,000 个对象,以查看性能是否下降以及性能是否快速稳定。

然而,这让我开始思考:对 Type.GetType() 的调用是否会根据传递到 GetType() 方法的类的大小和复杂性而变慢?

例如:假设我们想使用 GetType() 来检索一个由 30 个私有(private)变量、30 个私有(private)方法和 30 个公共(public)方法组成的复杂类,而不是一个只有一个非常简单的 public Add(int, int) 的类两个数相加的方法。

如果传入的类是复杂类而不是简单类,Type.GetType 会明显变慢吗?

谢谢

最佳答案

根据我对事物的理解,(我只是一个谦虚的经验丰富的程序员,我不是该语言的创造者之一,)被引用的类的复杂性不会以任何方式影响性能GetType()

实例化类的复杂性当然会影响 CreateInstance() 的性能,但这是可以预料的:类越大,它包含的东西越多,代码就越多需要执行才能完全构建它。

也许您将 GetType()CreateInstance() 混淆了,因为我注意到您说“在实例化复杂类与简单类时,Type.GetType 会显着减慢类(class)?”而事实上 GetType() 不会实例化任何东西,CreateInstance() 会。

关于c# - Type.GetType() 是否会根据您正在检索的对象的大小和复杂性而变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811291/

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