Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在内存、性能等方面使用部分类是否有任何开销?
如果我们创建一个部分类,我们可以使用反射器识别该类是否是部分的?
不,它们被编译成相同的 IL,就好像它们不是部分的一样。这纯粹是编译时的事情——CLR 甚至不知道它们曾经是部分的。
请注意,在 C# 3 中引入部分方法后,该方法甚至不会在 IL 中发出,除非它在其中一个文件中实现。调用和声明都被编译器剥离。
当然,它可能会使编译器减慢几分之一毫秒的速度:)
不,所有类文件都将在编译时合并。
这是关于部分类型的msdn 文章。
每个源文件都包含一个类型或方法定义的部分,并且在编译应用程序时将所有部分组合在一起。
不,它们被编译成一个类。它纯粹是一种语言功能。