C# 与方法调用并发的新对象创建
在以下代码中,似乎在同时调用该对象上的方法(C# 与方法调用并发的新对象创建,c#,.net,syntax,C#,.net,Syntax,在以下代码中,似乎在同时调用该对象上的方法(Resize)时创建了一个新对象: Image<Bgr, Byte> img = new Image<Bgr, Byte>(fileNameTextBox.Text).Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true); Image img=新图像(fileNameTextBox.Text)。调整大小(400400,Emgu.CvEnum.INTER.CV\
Resize
)时创建了一个新对象:
Image<Bgr, Byte> img = new Image<Bgr, Byte>(fileNameTextBox.Text).Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
Image img=新图像(fileNameTextBox.Text)。调整大小(400400,Emgu.CvEnum.INTER.CV\u INTER\u LINEAR,true);
我所描述的是对正在发生的事情的正确解释吗?在C#world中,这种用法的名称是什么?不,它根本没有同时进行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:
var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);
这个没有具体的名称-它让人联想到构建器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回this
,或者它是否创建了一个新对象并执行了适当的Resize操作。不,它根本没有同时执行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:
var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);
这个没有具体的名称-它让人联想到构建器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回this
,或者它是否创建了一个新对象并执行了适当的Resize操作。不,它根本没有同时执行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:
var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);
这个没有具体的名称-它让人联想到构建器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回this
,或者它是否创建了一个新对象并执行了适当的Resize操作。不,它根本没有同时执行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:
var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);
这个没有具体的名称-它让人联想到生成器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回this
,或者它是否创建了一个新对象并执行了适当的Resize操作。不是同时执行的-它是按顺序发生的。这通常称为方法链接,而不是并发的-它是按顺序发生的。这通常称为方法链接,而不是并发的-它是按顺序发生的。这通常称为方法链接,而不是并发的-它是按顺序发生的。通常称为方法链接。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,您可以进一步将fileNameTextBox.Text
计算结果提取到单独的语句中。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,您可以进一步将fileNameTextBox.Text
计算结果提取到单独的语句中。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,您可以进一步将fileNameTextBox.Text
计算结果提取到单独的语句中。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,还可以进一步将fileNameTextBox.Text
计算结果提取到单独的语句中。