在下面的代码中,似乎在同时调用该对象上的方法(Resize
)时创建了一个新对象:
Image<Bgr, Byte> img = new Image<Bgr, Byte>(fileNameTextBox.Text).Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
我所描述的是对正在发生的事情的正确解释吗? C#世界中这种用法的名称是什么?
答案 0 :(得分:3)
不,它根本没有兼顾它。它创建对象,然后调用方法 - 然后将方法调用的结果分配给变量。所以它等同于:
var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
这里没有特定的名称 - 它让人联想到构建器模式,尽管从您的示例中不清楚Resize
是否修改现有对象并返回{{ 1}},或者是否创建了一个 new 对象并执行了适当的调整大小操作。