Установить значение свойства из другого свойства, где используется List () - PullRequest
0 голосов
/ 08 октября 2019

Как я могу установить свойство из другого свойства, где используется List<string>()?

Как показано ниже, в EnableTest1 я хочу установить свойство bool EnableTest2 как ложное, чтобы оно всегда возвращалосьложь, когда EnableTest1 истинно.

public class Test
{

   public List<string> _list;
   public Test(List<string> list)
   {
       _list = list;
   }

   public bool EnableTest1 => _list.All(x => x == "Test1");
   public bool EnableTest2 => _list.All(x => x == "Test2");
   public bool EnableTest3 => _list.All(x => x == "Test3"); 
   public bool EnableTest4 => _list.All(x => x == "Test4");
}

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Вы можете просто проверить EnableTest1 на false:

public bool EnableTest2 => !EnableTest1 && _list.All(x => x == "Test2");

Теперь, если EnableTest1 равно true, тогда EnableTest2 всегда false, а если EnableTest2, то мыотметьте _list пунктов.

код:

public class Test {

  public List<string> _list;

  public Test(List<string> list) {
    // We should validate public members arguments
    if (null == list)
      throw new ArgumentNullException(nameof(list));

    _list = list;
  }

  public bool EnableTest1 => _list.All(x => x == "Test1");
  public bool EnableTest2 => !EnableTest1 && _list.All(x => x == "Test2");
  public bool EnableTest3 => _list.All(x => x == "Test3");
  public bool EnableTest4 => _list.All(x => x == "Test4");
}
0 голосов
/ 08 октября 2019

Ваш вопрос несколько неясен, но как это?

public class Test
{

   public List<string> _list;
   public Test(List<string> list)
   {
       _list = list;
   }

   public bool EnableTest1 => _list.All(x => x == "Test1");
   public bool EnableTest2 => EnableTest1 && _list.All(x => x == "Test2");
   public bool EnableTest3 => EnableTest2 && _list.All(x => x == "Test3"); 
   public bool EnableTest4 => EnableTest3 && _list.All(x => x == "Test4");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...