[英]C# Generic Search Helper
我正在嘗試使用泛型而不是下面的內容重寫搜索助手,除了傳入的列表類型外,這兩個方法完全相同。將<T>
添加到類中,然后在<T>
Type <T>
的Type聲明中插入<T>
每個列表,我得到以下錯誤:
為了在通用類型或方法“ ProjectName.Helpers.Extensions.AttributeExtensions.GetDescription(T)”中將其用作參數“ T”,類型“ T”必須為非空值類型。
public class SearchFilterHelper
{
public static SelectList GenreSelectList(List<GenreFilter> filters, int selectedValue = 0)
{
var GenreList = filters.Select(g => new { Value = g.ToString(), Description = g.GetDescription() });
return new SelectList(GeneratedList, "Value", "Description", selectedValue.ToString());
}
public static SelectList PublisherSelectList(List<PublisherFilter> filters, int selectedValue = 0)
{
var GeneratedList = filters.Select(g => new { Value = g.ToString(), Description = g.GetDescription() });
return new SelectList(GeneratedList, "Value", "Description", selectedValue.ToString());
}
}
這是我第一次嘗試在Helper中使用泛型,並且一如既往地贊賞您對如何重寫此函數的任何幫助...
您擁有的GetDescription
方法應用了一般約束,即一般參數為struct
。 如果要從您的方法中調用該方法,則需要應用相同的通用約束。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.