Имеется E'нумератор помеченный аттрибутом [Flags]
:
[Flags]
public enum InitFlags : uint
{
Timer = 0x00000001u,
Audio = 0x00000010u,
Video = 0x00000020u,
Joystick = 0x00000200u,
Haptic = 0x00001000u,
GameController = 0x00002000u,
Events = 0x00004000u,
[Obsolete("Compatibility; this flag is ignored.", false)]
NoParachute = 0x00100000u,
Everything = Timer | Audio | Video | Joystick | Haptic | GameController | Events
}
Пытаюсь выполнить тест на все что было инициализировано:
[TestMethod]
public void WasInit_Test()
{
List<InitFlags> flags = new List<InitFlags>
{
InitFlags.Timer,
InitFlags.Audio,
InitFlags.Video,
InitFlags.Joystick,
InitFlags.Haptic,
InitFlags.GameController,
InitFlags.Events,
InitFlags.Everything
};
foreach (InitFlags initFlag in flags.SkipWhile(initFlags =>
initFlags == InitFlags.Everything || initFlags == InitFlags.NoParachute))
{
Assert.AreEqual(0, _initSubSystem(initFlag));
if (initFlag == InitFlags.Everything)
{
foreach (InitFlags initializedFlag in flags.SkipWhile(initFlags =>
initFlags == InitFlags.Everything || initFlags == InitFlags.NoParachute))
Assert.IsTrue((initializedFlag & initFlag) == initializedFlag);
}
Assert.IsTrue(_wasInit.Invoke(initFlag) == initFlag);
_quitSubSystem(initFlag);
}
}
Тест завершается успехом, но я не сильно разбираюсь с работой флагов.
_wasInit
это делегат на неуправляемую процедуру, в ее правильной работе можно не сомневаться.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
При написании библиотеки, код которой валиден как дляNET Framework, так и для
Изучаю внедрение зависимостей, появился вопросМожет ли быть такое что два класса зависят друг от друга как в примере ниже