Используя Отражение для установки Свойства с типом Списка <CustomClass>

Единственная проблема состоит в том, что когда я спрашиваю пользователя, на какую комнату он хочет перейти, если он вводит пустой ввод, то должно выводиться сообщение «Вы должны выбрать комнату».

Использование std::getline, а затем извлечение числа из строки с помощью std::istringstream - лучшая стратегия для этого.

std::string line;
std::cout << "Choose an existing room. ";
while ( std::getline(std::cin, line) )
{
   // Try to get the room_change using istringstream.
   std::istringstream str(line);
   if ( str >> room_change )
   {
      // Successfully read the room.
      break;
   }

   // Problem reading room_change.
   // Try again.
   std::cout << "Choose an existing room. ";
}
14
задан dragonjujo 24 November 2008 в 20:13
поделиться

2 ответа

class Foo
{
    public string Bar { get; set; }
}
class Program
{
    static void Main()
    {
        Type type = typeof(Foo); // possibly from a string
        IList list = (IList) Activator.CreateInstance(
            typeof(List<>).MakeGenericType(type));

        object obj = Activator.CreateInstance(type);
        type.GetProperty("Bar").SetValue(obj, "abc", null);
        list.Add(obj);
    }
}
19
ответ дан 1 December 2019 в 13:10
поделиться

Вот пример взятия List< > введите и превращение его в List< string>.

список var = typeof (List< >).MakeGenericType (typeof (строка));

1
ответ дан 1 December 2019 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: