将实例化的类变量作为参数传递
本文关键字:参数传递 类变量 实例化 | 更新日期: 2023-09-27 18:29:15
比方说,在C++中,以下代码是合法的并被广泛使用:
ObjectType myObject = ObjectType(vector3(10, 9, 3), vector3(40, 0, 0), vector3());
我使用作为参数传递给构造函数的构造函数,以避免创建一堆稍后将丢弃的临时变量。
如果我在C#中尝试这个,就像这样:
ObjectType myObject = new ObjectType(vector3(10, 9, 3), vector3(40, 0, 0), vector3());
我得到了编译器错误
error CS0118: 'myObject' is a 'type' but is used like a 'variable'
我是不是在使用C#的过程中犯了一个根本性的错误,或者我能做些变通办法吗?
(假设vector3类有一个不接受参数的默认构造函数和一个接受三个整数的构造函数)
我使用作为参数传递给构造函数的构造函数来避免必须创建一堆临时变量,我稍后会扔掉。
您没有创建和传递临时对象,
创建对象时使用new
关键字,例如:
ObjectType myObject = new ObjectType(new vector3(10, 9, 3), new vector3(40, 0, 0), new vector3());
//^^^^