Преобразовать в тип, объявленный в типе класса - PullRequest
1 голос
/ 21 октября 2011

люди, у меня есть метод, я передаю объект типа 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 #?

1 Ответ

1 голос
/ 21 октября 2011

Вы можете попробовать использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...