Neke gluposti

Пре него што се упустите у читање, имајте у виду да покушавам нешто што се иначе крши са самим принципима овог језика (самим тим и здравим разумом). Само ме голица да ли је могуће извести тако нешто… Немам никакав прави проблем. Питање и остале информације су у додатом фајлу. Ако је нешто нејасно, пишите…
Ако имате паметнија посла, заобиђите :D. Потпуно је небитна ствар.

Edit:
Не могу да поставим као .cs фајл, тако да само преименујте екстензију за бољу прегледност.

Pa ne znam sta zapravo treba? Ako hoces da drzis invariant onda prilikom konstrukcije bacis exception, druga varijanta je
da flagujes objekt kao nevalidan, treca da izvrsis korekcije, pa kako hoces…

Суштина је да могу да дефинишем какав ће бити објекат при инстанцирању. Схватам да је ретко да ће ово имати неку смислену примену.

var hsOne = new HomoSapiens(opts => opts.Age.MinValue = 0, opts.Age.MaxValue = 99 ); var hsTwo = new HomoSapiens(opts => opts.Age.MinValue = 18, opts.Age.MaxValue = 65 );
Дакле два објекта од исте класе, који се различито понашају. То сам већ постигао са

var hs = new HomoSapiens( ageCfg: age => age >=0 && age < 100 );
али ми се више свиђа ова претходна варијанта, а не могу да је изведем… У суштини, фантазирам o_O

Dva objetka iste klase a da se razlicito ponasaju se resava izvodjenjem i virtuelnim funkcijama ;p

Samo da se ubacim… ovo nisu gluposti, ovo je ozbiljna priča.

Niste svesni koliko “vašim glupostima” pomažete drugima! {1f64f}

i ja mislim da je to najpravilnije, ali tada ta dva objekta pripadaju razlicitim klasama (koji imaju istu nadklasu). pitanje je da li je to prihvatljivo
ovo c#? nisam se dugo igrao s time, pa necu mnogo da pametujem.
potencijalno bi mogla klasa HomoSapiens da ima privatnu f-ju za validiranje koju koristi pri set-ovanju, a u konstruktoru da prima argumente za validaciju (MaxValue, MinValue, CanContainNumbers, …). time bi pri instanciranju klase mogao da definises njeno buduce ponasanje

Све је то тачно, но ја сам покушавао да то изведем на други начин. Оно што сам описао горе, користи се у једном M$ namespace-у и тако се понаша. А то ми се допало, па куд сви Турци, ту и мали Мујо. Наравно, тешко да ћу у случају M$-a наћи source code, па ми остаје да набадам како је то постигнуто на основу онога што се види :smiley:

Иначе, ово горе (овај мој систем) је залудна компликација (која ради), али ако би то неко користио интензивно у реалном свету, ценим да би попио или отказ, или мало арсеника који му колеге редовно стављају у кафу.

Ја се само зезам за своју душу…
@Commander
… па зато кажем да су глупости :slight_smile: