将实例化的类变量作为参数传递

时间:2013-08-27 14:20:25

标签: c#

说,在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类有一个不接受任何参数的默认构造函数,以及一个接受三个整数的构造函数)

1 个答案:

答案 0 :(得分:3)

  

我使用构造函数作为参数传递给构造函数以避免   我必须创建一堆临时变量,稍后我会扔掉。

您不是在创建和传递临时对象,

在创建以下对象时使用new关键字:

ObjectType myObject = new ObjectType(new vector3(10, 9, 3), new vector3(40, 0, 0), new vector3());
                                   //^^^^