Click here to Skip to main content
15,885,278 members
Home / Discussions / C#
   

C#

 
AnswerRe: Zlib Pin
Scott Dorman28-Sep-07 7:14
professionalScott Dorman28-Sep-07 7:14 
GeneralRe: Zlib Pin
led mike28-Sep-07 7:32
led mike28-Sep-07 7:32 
GeneralRe: Zlib Pin
Scott Dorman28-Sep-07 7:33
professionalScott Dorman28-Sep-07 7:33 
GeneralRe: Zlib Pin
Luc Pattyn28-Sep-07 11:56
sitebuilderLuc Pattyn28-Sep-07 11:56 
GeneralRe: Zlib Pin
Xmen Real 28-Sep-07 14:05
professional Xmen Real 28-Sep-07 14:05 
GeneralRe: Zlib Pin
Scott Dorman28-Sep-07 17:31
professionalScott Dorman28-Sep-07 17:31 
GeneralRe: Zlib Pin
Xmen Real 28-Sep-07 17:55
professional Xmen Real 28-Sep-07 17:55 
QuestionGetGenericArguments() on non-generic subclasses of arbitrary generic types? Pin
Yellowseed28-Sep-07 6:16
Yellowseed28-Sep-07 6:16 
I have myObject and I want to know whether it is an instance of ICollection<T> for some unknown T. In simple cases, this might suffice:

myObject.GetType().GetGenericArguments()

However, I have many classes like this:

class XCollection : MySuperCollection<X>
class YCollection : MySuperList<Y>

So myObject's immediate type may not have any generic arguments. Remembering that one class my implement ICollection<T> for many types T, I'd like a method like this:

/// <returns>
/// The value of GetGenericArgs(), a Type[], for each specific type of the
/// given genericType that is implemented by subType.
/// </returns>
Type[][] GetGenericArgs(Type genericType, Type subType)

Which could be used like this:

Type[][] elementTypes = GetGenericArgs(typeof(ICollection<>), myObject.GetType())
// elementTypes == new Type[][] { new Type[] { typeof(X) } };

One way is to require genericType to implement ICollection<>, check for methods named 'GetEnumerator', get each possible T implied by these methods, and then check whether myObject is an instance of ICollection<T> for each specific possibility. I can implement this, and I'm sure it will work, but it's Wrong. Is there an appropriate way to do this?
AnswerRe: GetGenericArguments() on non-generic subclasses of arbitrary generic types? Pin
Scott Dorman28-Sep-07 7:22
professionalScott Dorman28-Sep-07 7:22 
GeneralRe: GetGenericArguments() on non-generic subclasses of arbitrary generic types? Pin
Yellowseed28-Sep-07 8:52
Yellowseed28-Sep-07 8:52 
QuestionDisplaying a messagebox Pin
Albu Marius28-Sep-07 6:02
Albu Marius28-Sep-07 6:02 
AnswerRe: Displaying a messagebox Pin
TJoe28-Sep-07 6:26
TJoe28-Sep-07 6:26 
QuestionWriting To A Text File Pin
rowdykuttan28-Sep-07 5:21
rowdykuttan28-Sep-07 5:21 
AnswerRe: Writing To A Text File Pin
Colin Angus Mackay28-Sep-07 5:32
Colin Angus Mackay28-Sep-07 5:32 
GeneralRe: Writing To A Text File Pin
rowdykuttan28-Sep-07 5:36
rowdykuttan28-Sep-07 5:36 
GeneralRe: Writing To A Text File Pin
Colin Angus Mackay28-Sep-07 5:43
Colin Angus Mackay28-Sep-07 5:43 
AnswerRe: Writing To A Text File Pin
Matthew Cuba28-Sep-07 5:40
Matthew Cuba28-Sep-07 5:40 
AnswerRe: Writing To A Text File Pin
PIEBALDconsult28-Sep-07 6:07
mvePIEBALDconsult28-Sep-07 6:07 
GeneralRe: Writing To A Text File Pin
rowdykuttan28-Sep-07 6:39
rowdykuttan28-Sep-07 6:39 
GeneralRe: Writing To A Text File Pin
PIEBALDconsult28-Sep-07 7:15
mvePIEBALDconsult28-Sep-07 7:15 
GeneralRe: Writing To A Text File Pin
rowdykuttan28-Sep-07 8:03
rowdykuttan28-Sep-07 8:03 
GeneralRe: Writing To A Text File Pin
PIEBALDconsult28-Sep-07 8:16
mvePIEBALDconsult28-Sep-07 8:16 
GeneralRe: Writing To A Text File Pin
rowdykuttan28-Sep-07 8:34
rowdykuttan28-Sep-07 8:34 
GeneralRe: Writing To A Text File Pin
PIEBALDconsult28-Sep-07 8:43
mvePIEBALDconsult28-Sep-07 8:43 
QuestionMy tables hate me Pin
Evan St. John28-Sep-07 4:53
Evan St. John28-Sep-07 4:53 

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.