1) pravda ze smysluplne polozky vyctu se maji cislovat min. od jednicky, spousta lidi to ale instinktivne ignoruje, to je jedno
2) jj, ja to tak udelal ptz mi to pripada jako mensi michani jablek s hruskama nez predtim

, ta puvodni extension totiz zkonzumuje jakoukoliv strukturu co implementuje IConvertible, treba toto:
Kód:
struct Customer : IConvertible
{
//....
}
coz muze vest k dost absurdnimu kodu, ale jinak pridani kontroly alespon za behu skrze GetType neni spatny napad i kdyz to brutalne zbrzdi, nejlepsi se asi rozhodnout mezi vykonem a blbuvzdornosti
Kód:
public static bool IsFlagSetFoolProof(this Enum enumInstance, Enum flag)
{
if (enumInstance.GetType() != (flag.GetType())) return false; //nebo vyhodit exception
var flagInt = Convert.ToInt32(flag);
return (Convert.ToInt32(enumInstance) & flagInt) == flagInt;
}