Я спрошенный недавно о чем-то подобном.
при использовании флагов можно добавить дополнительный метод к перечислениям для создания проверки содержавших флагов легче (см. сообщение для детали)
Это позволяет Вам делать:
[Flags]
public enum PossibleOptions : byte
{
None = 0,
OptionOne = 1,
OptionTwo = 2,
OptionThree = 4,
OptionFour = 8,
//combinations can be in the enum too
OptionOneAndTwo = OptionOne | OptionTwo,
OptionOneTwoAndThree = OptionOne | OptionTwo | OptionThree,
...
}
Тогда можно сделать:
PossibleOptions opt = PossibleOptions.OptionOneTwoAndThree
if( opt.IsSet( PossibleOptions.OptionOne ) ) {
//optionOne is one of those set
}
я нахожу это легче читать, чем большинство способов проверить включенные флаги.
Да, можно, ниже показан пример:
<application-desc main-class="my.main.class">
<argument>-user=bob</argument>
<argument>-pass=8jkaiuasu</argument>
</application>
Показывает, что вы передаете аргументы "-user = bob" и "-pass = 8jkaiuasu" в приложение. Аргументы подбираются стандартным образом.