c# - C#创建一个对象时,会在内存中创建一个类中的多少个方法?

标签 c# .net oop

<分区>

我对类和对象有一些小疑问。

在一个类中我有 10 到 20 个方法,(在下面分享)

    public class tstCls
    {
       public void a1()
        { }
        void a2()
        { }
        void a3()
        { }
        void a4()
        { }
        void a5()
        { }
        void a6()
        { }
        void a7()
        { }
        void a8()
        { }
        void a9()
        { }
    }

为上述类创建对象时。内存中将存储多少个方法?仅调用方法或所有方法。

 static void Main(string[] args)
    {
        tstCls objcls = new tstCls();
        objcls.a1();
    }

你能帮我解决上面的问题吗?

最佳答案

没有。

当您实例化对象时,方法不会在内存中创建,只有字段和属性是。

只要引用程序集的任何部分,就会加载包含这些方法的程序集。

方法只有在被调用时才会被编译到内存中。 JIT(即时编译器)及时将方法从 IL 转换为机器代码。

关于c# - C#创建一个对象时,会在内存中创建一个类中的多少个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910719/

相关文章:

javascript - 如何向原型(prototype)添加属性 (javascript)

c# - C#/VB.NET using 语句实际上对未实现 IDisposable 的类执行任何操作吗

C# 如何用直引号代替微软的Smart Quotes?

c# - 我们可以在最初随 C# 安装的 Visual Studio Express 中运行 VB.Net 吗?

c# - 如何递归查找子属性属性

.net - 基数估计问题?日期时间参数与强制转换?

c# - 更改几个表中的列参数

c# - 更改 Windows 7 窗口颜色

C++ 如何使用类和函数将我的代码转换为 OOP?

c++ - 如何实现嵌套流畅的接口(interface)?