Pises o enumu jako o necem posvatnem nebo mi prijde, ze nevis k cemu je enum. Jestli jsem to ad1) pochopil spravne, tak bys snad enumem chtel predavat nejakou hodnotu? Proto ten string v zavorce? Nebo to chapu spatne? Od toho snad neni enum ne? Ad2), od toho jsou nullable a non-nullable typy ne? Ad3), jako kam chces cpat jakysi switch? A pokud to chapu spravne, tak jen chyba programatora na kterou mozna upozorni compiler, pokud to nekdo povazoval za nutne, ale urcite ne jako warning, mozna jako tip/suggestion, kterych jsou po napsani par radku kodu, vzdycky tak desitky, aspon u me:o)
Ad4) to je snad dano jasne danymi OOP pravidly a pokud to chces nahodou jinak, tak to udelas jinak, nechapu problem.
Ad5) netusim o cem je rec. Ad6) opet zalezitost co potrebujes, tak pokud mas knihovnu a nedefinujes presne verzi, tak proc by to nemelo jit prelozit? To je naopak zadana vlastnost ne? A pokud ji zmenis, nemas ji podepsanou nebo nezmenis cislo verze, tak to prece nesouvisi s jazykem, ani nicim jinym. To je asi jako nadavat na textovy editor, protoze jiny proces mu muze smazat editovany soubor ...... je to proste vlastnost a pokud tomu chces predejit, tak to musis proste zaridit.