public void Delete<br>(List<br>EntityList) where T : class, new()
今日、プロジェクトに精通しているとき、次のコードに出会ったとき、どういう意味か分からなかったので、記録しておきます.
検索すると、これはタイプパラメータコンストレイントであることがわかります.NETがサポートするタイプのパラメータ制約には、次の5つがあります.
public T CreateViewModel<T>() where T : BaseViewModel, new()
{
T viewModel = new T
{
SiteTitle = Settings.SiteTitle,
SiteDescription = Settings.SiteDescription,
RootUrl = Settings.RootUrl.TrimEnd('/'),
AbsolutePath = Settings.AbsolutePath.TrimEnd('\\'),
MetaKeywords = Settings.MetaKeywords,
MetaDescription = Settings.MetaDescription,
IsCurrentUserAuthenticated = IsCurrentUserAuthenticated,
CurrentUser = CurrentUser,
ThemeName = ThemeName,
StyleSheetUrl = GetThemeStyleSheetUrl()
};
if (CurrentUser != null)
{
viewModel.IsAdmin = CurrentUser.SysRoles.Contains(SysRoles.Administrator);
}
else
{
viewModel.IsAdmin = false;
}
return viewModel;
}
検索すると、これはタイプパラメータコンストレイントであることがわかります.NETがサポートするタイプのパラメータ制約には、次の5つがあります.
where T : struct | T
where T : class T (class)
where T : new() | T
where T : NameOfBaseClass | T NameOfBaseClass
where T : NameOfInterface | T NameOfInterface