Анатомия класса контроллера C # .NET MVC - PullRequest
1 голос
/ 07 ноября 2011

Я только что установил бесплатную версию IDE .NET Visual Web Developer 2010 вместе с версией 3 платформы ASP.NET MVC.Я достаточно новичок в C #, .NET, ASP.NET MVC Framework, и меня немного смущает базовый класс контроллера, сгенерированный для меня, и то, что особенность языка C # и возможный синтаксический сахар, предоставляемый платформой

Namespace MvcApplication1
    Public Class Default1Controller
        Inherits System.Web.Mvc.Controller

        '
        ' GET: /Default1

        Function Index() As ActionResult
            Return View()
        End Function

    End Class
End Namespace

В частности,

  1. В учебных пособиях, которые я нашел в Интернете, : используется для обозначения наследования, но здесь на самом деле это слово Inherits.Предоставляет ли Inherits какой-либо дополнительный контекст / функции или это просто еще один способ сказать :?

  2. Сгенерированный метод Index не имеет типа возврата или модификаторов доступа.У меня сложилось впечатление, что это обязательная часть сигнатуры метода в C #.Это неверное предположение?Если да, то какой тип возврата по умолчанию?

  3. С методом Index также связан конечный as ActionResult, который выглядит как тип возврата для сигнатуры метода,но, очевидно, что-то еще.Что это делает?

  4. Являются ли вышеуказанные различия в языке чем-то, что C # предоставляет мне, или это упрощение синтаксиса, то, что ASP.NET MVC дает мне через мета-интерфейс?программирование?

Полные ответы - это здорово, но указатель на учебник или справочник, который не предполагает знания экосистемы ASP.NET и позволит получить опытное программирование

Ответы [ 2 ]

3 голосов
/ 07 ноября 2011

Похоже, вы выбрали не тот язык, если хотите использовать C #.Вы опубликовали код Visual Basic.

  1. Поскольку это код VB, это Inherits.C # эквивалентно этому - двоеточие (:)
  2. Опять же, это еще одна точка сбоя синтаксиса VB.Вот эквивалентный метод C #:

public ActionResult Index() { return View(); }

  1. ActionResult - это тип возвращаемого значения (или класс, который наследует ActionResult), который методreturn.
  2. Ваша путаница коренится в том, что это неправильный кодовый язык.Но да, если вы не знаете, что такое MVC, даже исходный код на C # вас немного смущает.Я очень ... ВЫСОКО рекомендую ознакомиться с ASP.NET MVC Music Store Tutorial .Это послужило мне отличным началом для изучения и понимания структуры приложений ASP.NET MVC и разработки, стоящей за ними.
2 голосов
/ 07 ноября 2011

Я знаком с C # и MVC3, но было также похоже на WTF?

Я вижу, что вы сделали: вы создали приложение MVC Visual Basic.Net.

1: нет, вот как это делает vb.net.

2: это так. ActionResult является его типом возврата. Вот как это делает vb.net ...

3: см. 2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...