c # Отражение объекта [] проблема - PullRequest
2 голосов
/ 12 июня 2009

Я пытаюсь использовать отражение, чтобы создать массив объектов типа, созданного из отражения, например: 1001 *

Client[] newArray = new Client[] {client1, client2};

Мне нужно как-то получить тип объекта Client, чтобы создать объект, чтобы его можно было пропустить.

Любая помощь будет принята с благодарностью.

Ура, Rob

object clientObject = testAssembly.CreateInstance(".Testing_Automation.Client");        
Type client = testAssembly.GetType(".Testing_Automation.Client");

// Create Client Object Array

Переход к:

public Appointment(IEnumerable<Client> client, string time)

1 Ответ

6 голосов
/ 12 июня 2009

Вы должны использовать Array.CreateInstance метод:

Array arr = Array.CreateInstance(client, lengthOfArray);
arr.SetValue(client1, 0); // Fill in the array...
arr.SetValue(client2, 1);

Чтобы получить IEnumerable<Client> из массива, вы можете использовать (IEnumerable<Client>)arr, если вы знаете тип Client во время компиляции. Если вы этого не сделаете, что, скорее всего, вы должны опубликовать больше информации о возможностях этого вызова метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...