У меня небольшая проблема с программой на C #, которую я пишу, и было бы здорово, если бы кто-то мог помочь.
Фон такой, не очень важный, но вот почему мне нужно выяснить, как это сделать:
Я использую веб-службы базы данных для получения информации о записи в базе данных. Каждый доступ к базе данных возвращает объект с множеством свойств. Используя идентификатор записи базы данных, вы сообщаете ей, какую информацию вы хотите заполнить об объекте, который она возвращает, заполняя массив, какие свойства должны быть получены. Любое свойство, отсутствующее в массиве, остается как его значение по умолчанию (обычно ноль)
Проблема:
Я хочу, чтобы пользователь мог выбрать свойство объекта (не получить значение, просто выберите какое свойство), как показано ниже:
projectFields[0] = Primavera.Ws.P6.Project.ProjectFieldType.(project_properties.Text);
Где project_properties.Text - это строка имени свойства, которое я хочу установить для projectFields [0].
Кто-нибудь может помочь? Заранее спасибо:)
Редактировать: Спасибо за ответ, ребята. Хотя они позволяют мне извлекать значение из объектов динамически, это не совсем то, что я искал ... Я не пытаюсь получить значение, я только пытаюсь установить, какое свойство ProjectFields [0] является равных тоже. например, предположим, что пользователь выбирает Id в качестве информации, которую он хочет вернуть о проекте. Для этого я бы установил:
projectFields [0] = Primavera.Ws.P6.Project.ProjectFieldType.Id;
затем я бы позвонил в базу данных и получил бы объект проекта обратно, с идентификатором, который был заполнен для проекта, в то время как все остальные свойства были бы оставлены с их значениями по умолчанию. По сути, если бы я делал это так, как предлагают эти примеры, мне пришлось бы сначала извлечь каждое свойство в объекте, а затем получить доступ к элементу, который интересует пользователя, и который был бы медленным / неэффективным, если бы я мог сделать так, как я ». Я пытаюсь сделать это работать.
Я знаю, как странно, как осуществляется доступ к базе данных, но я использую веб-службы, поэтому у меня нет возможности что-либо изменить в вызовах к базе данных.