Új hozzászólás Aktív témák

  • pakriksz

    őstag

    Hello

    Ki kéne javítanom egy nagyon hülye kódot, amit nem egyészen értek, és én tökmáshogy csináltam volna, de nem akarom újraírni a program felét. Fájlból olvasott kódot ellenőriz, mármint azt hogy megtörtént-e a próbálkozás. Nem pontosan írom a kódot, csak nagyjából, egyszerűsítve.

    Van egy enum, aminek első pár eleme így néz ki:
    public enum SettingsFlags
    {
    Setting1 = 0x0001,
    Setting2 = 0x0002,
    Setting3 = 0x0004,
    //és tovább

    Aztán SettingFlags checkFlags; deklarálva van, majd minden egyes fájlból olvasott érték után csinál valamit:
    ReadFloat(); checkFlags |= SettingsFlags.Setting1;
    ReadFloat(); checkFlags |= SettingsFlags.Setting2;
    ReadFloat(); checkFlags |= SettingsFlags.Setting3;
    //és így tovább

    Majd ellenőrzi, hogy mind be lett e olvasva:

    if (checkFlags == (SettingsFlags.Setting1 | SettingsFlags.Setting2 | SettingsFlags.Setting3

    Na most a gond az, hogy nem feltétlenül szükséges az összes paraméter, de mivel ezek a flagek máshol is szükségesek, nem hagyhatom ki az olvasás utáni checkFlags buzerálást. Ha az ellenőrzésnél lehagyom a nem feltétlenül szükséges paraméterek flagjait, akkor meg ugye soha sem lesz true, mert nem stimmel a szám.
    Szóval lehet ellenőrizni csak bizonyos flagek meglétét, vagy csak az összeset lehet?

Új hozzászólás Aktív témák