Ess*_*ial 0 .net constructor jscript.net unity-game-engine unityscript
我正在学习构造函数,我仍然是编程中的新手,所以如果我错误地使用任何术语,请提前道歉.我相信我所读到的是C#中有一个方便的默认构造函数,它允许你像这样在对象初始化中声明属性......
Cat cat = new Cat { Age = 10, Name = "Fluffy" };
Run Code Online (Sandbox Code Playgroud)
但是我在Unity3D引擎中使用UnityScript,这种语言虽然通常被称为Javascript,但更类似于JScript.NET.初始化对象时是否有可用的C#默认构造函数?
目前我要做的是初始化对象,然后一次设置一个属性.或者我可以创建一个我可以使用的构造函数,但我只是好奇,如果在C#中已经有一个默认的那个?
除非Cat是a struct,否则它可能没有默认构造函数:它全部取决于类.如果类的所有构造函数都接受参数(即没有默认构造函数)的构造
new MyClass { ... }
Run Code Online (Sandbox Code Playgroud)
会是非法的.
请注意,即使对于缺少默认构造函数的类,您也可以使用相同的初始化构造:您只需要调用非默认构造函数,如下所示:
class Cat {
public string Name {get;set;}
public string Age {get;set;}
public Cat(string name) {Name = name;}
}
Cat myCat = new Cat("Fluffy") {Age = 10 };
Run Code Online (Sandbox Code Playgroud)