Autor Beitrag
norman2306
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 222
Erhaltene Danke: 16

Win XP, Win 7 64-Bit
C# 4.0 (VS2010)
BeitragVerfasst: Do 25.03.10 15:18 
Servus!

Gibt es eine einfach Möglichkeit zu überprüfen ob ein object eine Collection<T> (oder davon abgeleitet) ist, ohne das ich T definieren muss?

Bsp:
ausblenden C#-Quelltext
1:
2:
3:
4:
object obj = new KeyedCollection<stringstring>();

if(obj is Collection<T>) //geht natürlich nicht, aber so in der Art wäre super
    ....



-- Moderiert von user profile iconKha: Beiträge zusammengefasst --


Und noch was... Gibt es eigentlich eine Möglichkeit, seine eigenen Themen zu verschieben, wenn man sich vershentlich vertan hat? :)

Moderiert von user profile iconKha: Topic aus ASP.NET und Web verschoben am Do 25.03.2010 um 20:21
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 25.03.10 21:26 
user profile iconnorman2306 hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es eine einfach Möglichkeit zu überprüfen ob ein object eine Collection<T> (oder davon abgeleitet) ist, ohne das ich T definieren muss?
Ich weiß nicht, was genau du vorhast, aber für die meisten praktischen Anwendungen sollte doch ein is ICollection genügen :) .

user profile iconnorman2306 hat folgendes geschrieben Zum zitierten Posting springen:
Und noch was... Gibt es eigentlich eine Möglichkeit, seine eigenen Themen zu verschieben, wenn man sich vershentlich vertan hat? :)
Nein, aber dafür gibt's ja uns ;) .

_________________
>λ=
norman2306 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 222
Erhaltene Danke: 16

Win XP, Win 7 64-Bit
C# 4.0 (VS2010)
BeitragVerfasst: Do 25.03.10 21:44 
Dank dir! Jaja, der Baum und der Wald...

Ich habe einen eigenen allgemeinen PropertyDescriptor. Wenn es sich um eine Collection handelt, soll er anders reagieren als sonst. Dafür muss ich aber wissen, dass das eine Collection ist.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 25.03.10 22:36 
Um deine ursprüngliche Frage nicht unbeantwortet zu lassen: Da wird man leider alle Vorfahren durchprobieren müssen. Auf Rekursion habe ich gerade keine Lust, also lieber Reactive Framework ;) .
ausblenden C#-Quelltext
1:
2:
var baseTypes = EnumerableEx.Generate(x.GetType(), t => t.BaseType != null, t => t, t => t.BaseType);
baseTypes.Any(t => t.IsGenericType && t.GetGenericTypeDefinition() == typeof(Collection<>))

_________________
>λ=