{"id":1729627,"user_name":null,"score":0,"text":"1 w C# widzia\u0142em g\u0142ownie dwa rozwi\u0105zania. Jedno stosowane nawet przez microsoft, tak wiemy \u017ce j\u0119zyk ma ograniczenia, dlatego dodali\u015bmy 16 przeci\u0105ze\u0144 z coraz wieksz\u0105 liczb\u0105 paramet\u00f3w, drugie zmiast `ByKey(x => x.Prop1, x => x.Prop2)` jest co\u015b w stylu `ByKey(x => x.Prop1).AndBy.(x => x.Prop2)`. Pierwszej z pierwszej opcji bym nie krozysta\u0142 chyba \u017ce bardzo dobrze wiesz co robisz, lub co\u015b w gatunku 4 przeci\u0105ze\u0144 powsta\u0142o samo nie jako przy okazji, i masz to p\u00f3\u0142darmo. Dlaczego nie, bo zmiany pomno\u017cone przez 16 przypadk\u00f3w to bardzo duzo pracy.\n\n2) nie rozumiem, problemu, je\u015bli masz ` DoCompare<T>(List<t> before, List<t> after)` to czy keySelector nie bedzie zwyczajnie, 'ByKey(T item )' i problem solved?\nChyba \u017ce chodzi\u0142o Ci \u017ce `DoCompare<T>` gdzie T to `List<someotherType' w takim wypadku mo\u017cesz napisa\u0107 metode, ComepareEnumerebale, i problem solved :)","edit_count":1,"is_voted":null,"is_accepted":null,"is_subscribed":null,"user_id":104980,"deleter_name":null,"delete_reason":null,"orderingScore":0,"created_at":"2020-12-05T14:22:24+01:00","updated_at":"2020-12-05T14:27:42+01:00","deleted_at":null,"user":{"id":104980,"name":"_flamingAccount","is_online":false,"location":"warszawa","allow_sig":1,"allow_count":1,"allow_smilies":0,"posts":317,"visited_at":"2026-05-09T19:54:35.000000Z","created_at":"2019-12-31T17:09:30.000000Z","initials":"FA","is_verified":false,"is_deleted":false,"is_incognito":false,"is_blocked":false,"is_blocked_perm":false,"deleted_at":null,"photo":null},"html":"<p>1 w C# widzia\u0142em g\u0142ownie dwa rozwi\u0105zania. Jedno stosowane nawet przez microsoft, tak wiemy \u017ce j\u0119zyk ma ograniczenia, dlatego dodali\u015bmy 16 przeci\u0105ze\u0144 z coraz wieksz\u0105 liczb\u0105 paramet\u00f3w, drugie zmiast <code>ByKey(x =&gt; x.Prop1, x =&gt; x.Prop2)<\/code> jest co\u015b w stylu <code>ByKey(x =&gt; x.Prop1).AndBy.(x =&gt; x.Prop2)<\/code>. Pierwszej z pierwszej opcji bym nie krozysta\u0142 chyba \u017ce bardzo dobrze wiesz co robisz, lub co\u015b w gatunku 4 przeci\u0105ze\u0144 powsta\u0142o samo nie jako przy okazji, i masz to p\u00f3\u0142darmo. Dlaczego nie, bo zmiany pomno\u017cone przez 16 przypadk\u00f3w to bardzo duzo pracy.<\/p>\n<ol>\n<li>nie rozumiem, problemu, je\u015bli masz <code> DoCompare&lt;T&gt;(List&lt;t&gt; before, List&lt;t&gt; after)<\/code> to czy keySelector nie bedzie zwyczajnie, 'ByKey(T item )' i problem solved?<br \/>\nChyba \u017ce chodzi\u0142o Ci \u017ce <code>DoCompare&lt;T&gt;<\/code> gdzie T to `List&lt;someotherType' w takim wypadku mo\u017cesz napisa\u0107 metode, ComepareEnumerebale, i problem solved :)<\/li>\n<\/ol>\n","url":"http:\/\/static.175.128.202.116.clients.your-server.de\/Forum\/Oceny_i_recenzje\/346763-properties_comparator_prosba_o_kostruktywna_krytyke?p=1729627#id1729627","is_locked":false,"editor":{"id":104980,"name":"_flamingAccount","is_online":false,"location":"warszawa","allow_sig":1,"allow_count":1,"allow_smilies":0,"posts":317,"visited_at":"2026-05-09T19:54:35.000000Z","created_at":"2019-12-31T17:09:30.000000Z","initials":"FA","is_verified":false,"is_deleted":false,"is_incognito":false,"is_blocked":false,"is_blocked_perm":false,"deleted_at":null,"photo":null},"permissions":{"write":false,"delete":false,"update":false,"accept":false},"moderatorPermissions":{"delete":false,"update":false,"accept":false,"merge":false,"sticky":false,"admAccess":false},"comments":[],"comments_count":0,"assets":[],"metadata":"eyJpdiI6IkJHa1lpaW5RZnZBanRTdWVuUks0THc9PSIsInZhbHVlIjoiaklERVFQS3JsbWo5TURkSysyMGJWMUFNb2tJSlpSRnhRN1dsdDc4eTgxNkttZWg0NDlxdnh3L3RHcGtZNFM0cU4rY0R4SXZOUFZYTmlvZHFRUUhyZmEyZVo4MmRhU1dTV29ET1E3QjVOdWQzbFd2N0xBREdOS1JITzJCRW1CclgiLCJtYWMiOiJiYzAxMWE5YmE4MDdkYTBiNDA3ZDc0MTc0NDRiZmQ4OWNlYzUxNzg0ODcxYTM2MzBkODViZTU5MDhjMzA2MzY4IiwidGFnIjoiIn0=","has_review":false,"review_style":"info","parentPostId":null,"childrenFolded":false,"type":"regular","highlighted":false}