确定C#代码大小

Ada*_*ski 5 .net c#

我想检查一些类的编译代码有多大(以字节为单位).我想优化它们的大小,但我需要知道从哪里开始.

Geo*_*ett 3

如果您想知道在运行时存储类/类型所需的大小(以字节为单位)。

对于值类型,请使用sizeof(type),对于引用类型,请sizeof在每个字段/属性上使用。


如果你想知道托管 DLL 的大小,最明显的方法是编译 DLL 并检查文件大小。要以编程方式执行此操作,请查看 user1027167 的答案和CodeDomProvider课程。

在代码中可以做的其他事情是获取类中每个方法的生成 IL 以及字段sizeof作为大小(可能只是相对)的度量。

您可以使用MethodBase.GetMethodBody方法来实现此目的。

一旦Roslyn(编译器即服务)发布(提供预览版),您可能可以更轻松、更准确地获得它(因为它不仅仅是构成类 IL 的方法和字段)。


如果你想知道用于生成 DLL 的代码的大小,你必须研究像Reflector这样的东西