【发布时间】:2016-12-13 01:54:43
【问题描述】:
我正在阅读一篇关于移动 Web 开发和 ASP.NET MVC 的文章:http://www.hanselman.com/blog/ABetterASPNETMVCMobileDeviceCapabilitiesViewEngine.aspx。
在文章中,Scott Hanselman 介绍了创建自己的视图引擎的过程,以根据是否从移动网络浏览器请求网站来呈现不同的视图。
在他的MobileHelpers 课程中,他有几个签名方法对我来说非常陌生。这是一个例子:
public static void AddMobile<T>(this ViewEngineCollection ves, Func<ControllerContext, bool> isTheRightDevice, string pathToSearch)
where T : IViewEngine, new()
{
ves.Add(new CustomMobileViewEngine(isTheRightDevice, pathToSearch, new T()));
}
我已经使用过这样的内联函数(我认为这就是它们的名称),但我无法理解这种逻辑。我也不明白where T : ...... 行的目的。
你们能帮我理解这里发生了什么吗?
【问题讨论】:
-
@James,已经有 4 个答案准确地说明了这一点。 :) 另外,`,不是 ' :)
-
@bzlm 是的,我很着急,没注意。不知道为什么我没有得到说还有其他答案可用的对话框。嗯嗯。
标签: c# generics type-constraints