Jestem początkującym i uczącym się rozwijaniem stron internetowych przy użyciu środowiska ASP.Net MVC 5 w języku C#. Znalazłem poniższy kod:Kiedy używać NOWEGO słowa kluczowego w języku C# podczas tworzenia obiektu w ASP.NET MVC 5
Scenrio 1: Nie Nowe Słowo kluczowe użyte w tworzeniu obiektu.
[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: New słowo używane w tworzenie obiektów.
[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);
}
Jestem początkującym i próbowałem zarówno kod i zarówno kod działa poprawnie dla mnie.
Pytanie 1: Dlaczego oba kody działają poprawnie?
Pytanie 2: Kiedy używać "nowego", a kiedy nie "używać". Czy ktoś może mi powiedzieć jeden przykład dla obu scenariuszy.
Pytanie 3: Jaka jest różnica między nimi oboma.
Czy ktoś może mnie trochę poprowadzić.
zajęcia dla statyczne muszą być tworzony z nowym słowo kluczowe. Powodem tego działania jest prawdopodobnie to, że metoda GetData zwraca wartość za pomocą nowego obiektu PaymentFormMV. –