我需要创建一个接受未知类型的方法,然后再使用该类型来访问对象。
更多细节。我有一个DevEx网格,我使用GetRow来获取记录。 GetRow必须是Linq类对象的类型才能访问记录的属性。我试图创建一个通用方法,允许我传入Linq对象的类型,然后动态地将GetRow的结果转换为该对象。然后我将获取列fieldname以访问类似属性(objectType是未知类型):
void DoGrid (GridView gv, objectType)
{
PropertyInfo[] properties = objectType.GetProperties();
foreach (GridColumn col in gv.Columns)
{
if (col.Visible)
{
PropertyInfo property = properties.Where(prop => prop.Name == col.FieldName).FirstOrDefault();
...
}
}
}
答案 0 :(得分:1)
您是否只想找到一种使用泛型的方法?也许是这样的事情:
void DoGrid<T>(GridView gv)
{
PropertyInfo[] properties = typeof(T).GetProperties();
foreach (GridColumn col in gv.Columns)
{
...
}
}
然后你就像使用它一样:
DoGrid<MyClassFullOfProperties>(myGridView);