我是C#的新手。我在网上搜索没有成功 在找到我的问题的答案时,也许它只是一个术语/语法 我错过了。
我正在学习别人写的一些程序。该计划包括 项目中包含的不同文件中的一些类。
在主程序文件中,而不是我知道声明新的方式 这个类的实例使用了这个方法:
namespace Technology_A3000_A4_A42107
{
public partial class FormTechnology : Form
{
...
private AST_NET _device;
private ClassTechnology _technology;
private ClassGain _gain;
....
}
public FormTechnology()
{
...
_device = new AST_NET();
_technology = new ClassTechnology(_device);
_gain = new ClassGain();
....
}
....
这到底做了什么?这相当于写作 下面的行,或者由于某些外部文件而需要它 或者其他一些属性?
private AST_NET _device = new AST_NET();
先谢谢,如果有的话,对不起 不是一个合适的问题。 Amitai
答案 0 :(得分:0)
public FormTechnology()
{
...
_device = new AST_NET();
_technology = new ClassTechnology(_device);
_gain = new ClassGain();
....
}
此FormTechnology是FormTechnology类的构造函数。当您创建FormTechnology的实例时,它将调用构造函数。因此,它将创建以下类的实例
_device = new AST_NET();
_technology = new ClassTechnology(_device);
_gain = new ClassGain();
答案 1 :(得分:0)
c#编译器(如Java)创建类似
的输出new Form().ctor()
ctor()
是你正在定义的构造函数
public Form(){
// Some code
}
基本上,在创建类的新实例之后,custructor是一个名为right 的函数。你不能阻止这一点。 所以我认为(不完全确定)但基于类的初始化是在构造函数之前完成的。所以像这样的价值
public int value = 10;
在构造函数之前分配。如果我错了,请纠正我。
然而这是一个糟糕的设计,因为你没有条件。
希望这有帮助吗?