角括号语法在C#中的含义是什么

Bri*_*ord 1 c# asp.net-mvc

我正在读这本书,它每次运行应用程序时都会尝试使用初始化程序来创建数据库,所以代码片段是这样的:

protected void Application_Start() {
    Database.SetInitializer(new DropCreateDatabaseAlways<MusicStoreDB>());

    AreaRegistration.RegisterAllAreas();
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Run Code Online (Sandbox Code Playgroud)

我无法理解这一部分:

 new DropCreateDatabaseAlways<MusicStoreDB>()
Run Code Online (Sandbox Code Playgroud)

这是什么语法?什么<MusicStoreDB>()意思?

我知道这不是一个奇特的问题,但我需要帮助.

谢谢.

Rol*_*oly 8

该语法称为泛型.简而言之(一个非常小的概念),假设你的应用程序有多个数据库(例如MusicStoreDB,MovieStoreDB等),你可以使用相同的DropCreateDatabaseAlways类和不同的数据库类型.换句话说,泛型让你可以定义可以作用于许多不同类型的类和函数

List<int>, List<string>, List<MyAwesomeClass>

  • 哦好的 :) 感谢您的解释 .. 我希望其他人会像您一样尝试提供帮助,而不是对问题进行投票,非常感谢 :) (5认同)