如果这是一个愚蠢的问题我很抱歉,我只是开始使用这些东西,但我在通过Type变量分配一种类型的列表时遇到了一些麻烦。该方法应该为对象创建和分配属性。我得到了一个&#34;类型或命名空间&#39; propType&#39;无法找到&#34; parseEnumList<propType>
点错误。有人可以告诉我为什么我不能将列表类型设置为属性的类型吗?
public T getFromForm<T>(){
NameValueCollection form = HttpContext.Current.Request.Form;
T t = Activator.CreateInstance<T>();
foreach (PropertyInfo prop in typeof(T).GetProperties())
{
Type propType = prop.PropertyType;
if (IsPropertyACollection(prop))
prop.SetValue(t, parseEnumList<propType>(form.Get(prop.Name)), null);
else if (!string.IsNullOrEmpty(form.Get(prop.Name)))
prop.SetValue(t, Convert.ChangeType(form.Get(prop.Name),propType), null);
}
return t;
}
提前致谢。
编辑:这是parseEnumList
public List<T> parseEnumList<T>(string list)
{
List<string> stringList = list.Split(',').ToList<string>();
List<T> enumList = stringList.ConvertAll(delegate(string x)
{
return (T)Enum.Parse(typeof(T), x);
});
return enumList;
}