我是一位初学者,学习使用C#语言的ASP.NET MVC 5框架进行Web开发。我碰到下面的代码:在ASP.NET MVC中创建对象时何时使用C#中的NEW关键字5
Scenrio 1:没有新对象创建中使用的关键字。
[AuthorizeFunc]
[BlockWidget]
public PartialViewResult WidgetPayments()
{
PaymentFormMV data; // No New Keyword used
if (SimUtils.IsDelayedPaymentAllowed)
{
data = Pay.GetData(PaymentPageMode.DelayedPayment);
}
else
{
data = PayHelp.GetData(PaymentPageMode.MakePayment);
}
return PartialView("PaymentsWrapper", data);
}
Scenrio 2:新关键字在创建对象使用。
[AuthorizeFunc]
[BlockWidget]
public PartialViewResult WidgetPayments()
{
PaymentFormMV data = new PaymentFormMV(); // New Keyword used
if (SimUtils.IsDelayedPaymentAllowed)
{
data = Pay.GetData(PaymentPageMode.DelayedPayment);
}
else
{
data = PayHelp.GetData(PaymentPageMode.MakePayment);
}
return PartialView("PaymentsWrapper", data);
}
我是初学者,我都尝试代码,并两个代码工作正常我。
问题1:为什么两个代码工作正常?
问题2:何时使用“新”,何时不使用“。有人可以告诉我两种情况的一个例子。
问题3:两者之间有什么区别。
有人可以指导我一点。
非静态类需要用新的实例化关键词。这可能是因为GetData方法返回一个带有新的PaymentFormMV对象的值。 –