0

Anders Hejlsberg は、LINQ をシンタックス シュガーと呼んでいます。つまり、まだ C# です。いくつかのショートカットが追加されているため、LINQ が作成するすべてを手作業でコーディングする必要はありません。しかし、C# 言語と .NET ランタイムには、構造的な変更はありませんでした。

Razorも同じですか?

ものごとをレイヤーとして表現すると、どのように並んでいるのかわからない。たとえば、これは正しいですか?

Razor
 ^
ASP.NET
 ^
C#
 ^
.NET

私はそれが正しいと信じていますが、ASP.NET がどのように適合するかはわかりません.Razor は、いくつかの構文上の追加機能を追加することを除いて、ASP.NET に適していますか、それともそれ以上ですか?

ASP.NET は正確に何を追加しますか?

4

2 に答える 2

3

あなたの図は、依存関係グラフに関しては正しいです。ただし、Razor は C# で記述された Web 用のテンプレート言語と考えるのが最善です。

いくつかの点で、グラフは正確です。たとえば、C# は一般的に .NET にあまり依存していません。C# 用の非 .NET ランタイムを作成できます。

同様に、Razor は ASP.NET に依存する必要はありません。実際、その現在の実装は、ASP.NET の従来型に間接的にのみ依存する ASP.NET MVC にあるクラスに依存しています。

Razor が ASP.NET リンクであると言うことは、Linq が C# であるというのは少し正確ではありません。Linq は、 System.Linq 名前空間 ( Where http://msdn.microsoft.com/en-us/library/system.linq.enumerable.where.aspxなど) にある一連の関数です。C# は、これらの関数を呼び出すための便利な構文を提供します。つまり、http://msdn.microsoft.com/en-us/library/bb310804.aspx

ただし、Razor には、構文とバックエンド関数呼び出しの明確な分離がありません。

于 2013-06-04T02:48:21.307 に答える