Click here to Skip to main content
15,913,610 members
Home / Discussions / C#
   

C#

 
GeneralRe: Reflection with Generic Lists Pin
DaveyM6918-Dec-07 0:33
professionalDaveyM6918-Dec-07 0:33 
GeneralRe: Reflection with Generic Lists Pin
Ed.Poore18-Dec-07 10:04
Ed.Poore18-Dec-07 10:04 
GeneralRe: Reflection with Generic Lists Pin
DaveyM6918-Dec-07 11:18
professionalDaveyM6918-Dec-07 11:18 
GeneralRe: Reflection with Generic Lists Pin
Ed.Poore18-Dec-07 14:23
Ed.Poore18-Dec-07 14:23 
GeneralRe: Reflection with Generic Lists Pin
Ed.Poore18-Dec-07 14:44
Ed.Poore18-Dec-07 14:44 
GeneralRe: Reflection with Generic Lists [modified] Pin
DaveyM6919-Dec-07 0:39
professionalDaveyM6919-Dec-07 0:39 
GeneralRe: Reflection with Generic Lists Pin
Ed.Poore19-Dec-07 4:23
Ed.Poore19-Dec-07 4:23 
GeneralRe: Reflection with Generic Lists Pin
Ed.Poore19-Dec-07 13:19
Ed.Poore19-Dec-07 13:19 
A new and updated project[^] has been uploaded.

Sorry if it took the fun away from you but I needed something to relax ( Roll eyes | :rolleyes: ) my mind so continued with the Three Monkeys approach and have implemented the suggestions I made earlier. (I don't know whether this is possible in your case): but if you inherit your "data" class from ComparableObject then unless the CompareTo method is overridden it automatically compares itself through "reflection".

To allow this you tag each of your properties with a SortAttribute specifying the priority in which the properties are to be sorted, see code for examples. The method which builds the DynamicMethod looks for these attributes (using a Cool | :cool: piece of LINQ, making it sooo much easier, and ordering them in order of the priority). It then basically goes through and generates the IL for making the comparison, as if you'd typed it out yourself.

These dynamic methods are stored in a Dictionary<TKey,TValue> so that subsequent calls don't hit the performance penalty of performing reflection.

Quite a handy piece of code actually, might write it up into an article...

[BTW]Thanks for providing me with something "challenging" to do in C#[/BTW]

GeneralRe: Reflection with Generic Lists Pin
DaveyM6920-Dec-07 0:04
professionalDaveyM6920-Dec-07 0:04 
GeneralRe: Reflection with Generic Lists Pin
Ed.Poore20-Dec-07 0:09
Ed.Poore20-Dec-07 0:09 
GeneralTranslatation Pin
mehrdadc4817-Dec-07 8:26
mehrdadc4817-Dec-07 8:26 
GeneralRe: Translatation Pin
Judah Gabriel Himango17-Dec-07 10:34
sponsorJudah Gabriel Himango17-Dec-07 10:34 
GeneralRe: Translatation Pin
Anthony Mushrow17-Dec-07 14:35
professionalAnthony Mushrow17-Dec-07 14:35 
Generalcustom form Pin
netJP12L17-Dec-07 7:18
netJP12L17-Dec-07 7:18 
GeneralRe: custom form Pin
Skippums17-Dec-07 9:20
Skippums17-Dec-07 9:20 
GeneralRe: custom form Pin
netJP12L17-Dec-07 10:27
netJP12L17-Dec-07 10:27 
GeneralRe: custom form Pin
Pete O'Hanlon17-Dec-07 10:19
mvePete O'Hanlon17-Dec-07 10:19 
Generalremove property from inherited control Pin
Eli Nurman17-Dec-07 5:24
Eli Nurman17-Dec-07 5:24 
GeneralRe: remove property from inherited control Pin
m@u17-Dec-07 5:40
m@u17-Dec-07 5:40 
GeneralRe: remove property from inherited control Pin
Skippums17-Dec-07 6:48
Skippums17-Dec-07 6:48 
GeneralRe: remove property from inherited control Pin
Pete O'Hanlon17-Dec-07 9:10
mvePete O'Hanlon17-Dec-07 9:10 
GeneralRe: remove property from inherited control Pin
Eli Nurman17-Dec-07 9:21
Eli Nurman17-Dec-07 9:21 
Generalgenerating random dummy files Pin
Shani Aulakh17-Dec-07 5:23
Shani Aulakh17-Dec-07 5:23 
GeneralRe: generating random dummy files Pin
Kristian Sixhøj17-Dec-07 5:44
Kristian Sixhøj17-Dec-07 5:44 
GeneralRe: generating random dummy files Pin
m@u17-Dec-07 5:46
m@u17-Dec-07 5:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.