相关疑难解决方法(0)

方法存储在内存中的哪个位置?

我了解到类字段存储在堆中,但是方法存储在哪里?在堆中还是其他地方?他们是内联的吗?

.net c# memory

24
推荐指数
2
解决办法
7465
查看次数

为什么我可以使用类名而不是类实例来调用这个静态方法?

class Program
{
    static void Main(string[] args)
    {
        var p = new Program();
        p.Main(args);//instance reference error,use type name instead

        var p = new Program();
        Program.Main(args);//error disappears
    }
}
Run Code Online (Sandbox Code Playgroud)

我想我明白静态与对象实例无关,但我遇到的问题是类不是对象的同义词吗?或者不是在创建对象时使用类?那么,如果类本质上是对象,为什么当我使用类名时错误会消失?

我知道我还没有创建一个实例,以后Main也不会。这是唯一不同的东西吗?也许在我正在上的这门课中没有正确解释它。

c# static-methods class method-call member-access

1
推荐指数
1
解决办法
730
查看次数

标签 统计

c# ×2

.net ×1

class ×1

member-access ×1

memory ×1

method-call ×1

static-methods ×1