【发布时间】:2015-07-24 22:31:34
【问题描述】:
在研究 .NET 反射 API 时,我遇到了以下代码。
Assembly currentAssem = Assembly.GetExecutingAssembly();
我理解的代码如下。
Assembly = Class Name
currentAssem = object reference variable
Assembly.GetExecutingAssembly = Static method in Assembly class
但是,我认为对象引用变量(在堆栈中)只保存对实际对象(在堆中)的引用。我有点困惑,为什么没有创建对象时会有对象引用变量。对象引用变量是否保存方法返回的数据?还是别的什么?
当你为一个类或结构创建一个变量时,它总是一个对象引用变量吗?我的意思是您可以执行以下操作将2 分配给a。
int a = 2;
你可以在课堂上这样做吗?例如,如果我有一个类名 Program 并且我创建了一个变量 P - 我可以执行以下操作吗?
Program P = 2;
我是否正确理解了以下代码?
Program P = new Program();
P = object reference variable
new Program = It makes P point to an object of type Program
【问题讨论】:
-
这是什么语言?爪哇? C#?这不是 C。
-
"为什么没有创建对象的时候还有对象引用变量",currentAssem其实是Assembly类的一个实例所以这个对象已经被创建了
-
如果存在从 int 到 Program 的隐式转换运算符,则可以执行“Program P = 2”
-
"new Program()" 只创建一个Program的新实例,它是"P = new Program()",将创建的对象存储在一个变量中
-
我学习c#。非常感谢您的帮助!