|
|
1
13
在封面下,,
你可能希望考虑通过一个建筑代表。 |
|
|
2
3
您问题的标题表明,这与该方法是通用的这一事实有关。在没有泛型的情况下分配相同数量的对象是否更快?如果不是,那一定是与构造函数中正在进行的任何工作有关。你能发布构造函数代码吗? 编辑 这是我不久前写的一篇文章,用DynamicMethod缓存构造函数,速度非常快:
方法主体:
|
|
|
3
3
问题是这个表达式
另一个选项是使方法接受创建者委托,如下所示:
然后你会这样称呼它:
因为它在参数中使用,所以在调用方法时不需要显式指定泛型类型。 干扰最小的方法是使用LINQ表达式创建自己的创建者方法。 编辑 :像这样:
|
|
|
4
2
不幸的是,这仍然可能很慢,因为大部分时间可能都花在构建对象上,但它可能允许您将此加载延迟足够长的时间,以便生成应用程序 更快,或者直到您能够完全过滤掉一些对象。 此外,您可能会考虑使用类似工厂的模式来实现这一点:
|
|
|
5
0
您正在测试发布版本吗?
|
|
|
6
0
通过示例说明,C#中的此方法:
已编译为此MSIL代码(来自Reflector):
为了不深入研究太多的内部内容,这里有几个步骤,检查几个条件,初始化数据字段的需要,等等,最后调用Activator 也许 这是必需的。所有这些都是为了实例化泛型类型对象。是的,它总是用来代替直接调用类型的构造函数。 |
|
|
7
0
即使需要使用列表,为什么要先创建数组?
|
|
|
8
0
对于后来遇到这个问题的人来说,这篇博文对我非常有帮助: http://blogs.msdn.com/haibo_luo/archive/2005/11/17/494009.aspx
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |