Neke gluposti

Prizma

Active member
Joined
Feb 13, 2017
Messages
461
Reaction score
76
Пре него што се упустите у читање, имајте у виду да покушавам нешто што се иначе крши са самим принципима овог језика (самим тим и здравим разумом). Само ме голица да ли је могуће извести тако нешто… Немам никакав прави проблем. Питање и остале информације су у додатом фајлу. Ако је нешто нејасно, пишите…
Ако имате паметнија посла, заобиђите :D. Потпуно је небитна ствар.

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

Branimir_Maksimovic

Well-known member
Joined
Nov 22, 2018
Messages
928
Reaction score
370
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…
 
Last edited:

Prizma

Active member
Joined
Feb 13, 2017
Messages
461
Reaction score
76
Pa ne znam sta zapravo treba
Суштина је да могу да дефинишем какав ће бити објекат при инстанцирању. Схватам да је ретко да ће ово имати неку смислену примену.

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
 
Last edited:

Branimir_Maksimovic

Well-known member
Joined
Nov 22, 2018
Messages
928
Reaction score
370
Dva objetka iste klase a da se razlicito ponasaju se resava izvodjenjem i virtuelnim funkcijama ;p
 
Last edited:

Commander

Well-known member
Staff member
Joined
Jan 13, 2012
Messages
9,235
Reaction score
530
Samo da se ubacim… ovo nisu gluposti, ovo je ozbiljna priča.

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

webad

Member
Joined
Jan 5, 2016
Messages
126
Reaction score
8
Dva objetka iste klase a da se razlicito ponasaju se resava izvodjenjem i virtuelnim funkcijama ;p
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
 
Last edited:

Prizma

Active member
Joined
Feb 13, 2017
Messages
461
Reaction score
76
Све је то тачно, но ја сам покушавао да то изведем на други начин. Оно што сам описао горе, користи се у једном M$ namespace-у и тако се понаша. А то ми се допало, па куд сви Турци, ту и мали Мујо. Наравно, тешко да ћу у случају M$-a наћи source code, па ми остаје да набадам како је то постигнуто на основу онога што се види 😃

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

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