转换为Class type中声明的类型
本文关键字:声明 类型 type Class 转换 | 更新日期: 2023-09-27 18:11:59
各位,我在传递类型为type的对象时有一个方法。我想将这个方法中的对象转换为type中的类型。例如
void SetNewRecord(Type requiredType)
{
var list = GridView.DataSource as requiredType;
for (int i = 0; i < list.Length; i++)
{
if (list[i].KOD == kod)
{
GridView.CurrentCell = GridView[0, i];
return;
}
}
}
如果我将int[]作为参数传递,我希望GirdView.DataSource转换为int[]。这在C#中可能吗?
您可以尝试使用Generic来解决您的问题
public interface ISample
{
object KOD {get;set;}
}
void SetNewRecord<T>() where T : ISample
{
var list = GridView.DataSource as IEnumerable<T>;
// implement needed logic here
}
如果你想通过反射调用它
MethodInfo castMethod = this.GetType().GetMethod("SetNewRecord").MakeGenericMethod(type);
castMethod.Invoke(null, null);