Als «generics» getaggte Fragen

90
Wirf das Objekt auf T.

Ich analysiere eine XML-Datei mit der XmlReaderKlasse in .NET und dachte, es wäre klug, eine generische Analysefunktion zu schreiben, um verschiedene Attribute generisch zu lesen. Ich habe mir folgende Funktion ausgedacht: private static T ReadData<T>(XmlReader reader, string value) {...

90
Generischen Enumerator aus einem Array abrufen

Wie erhält man in C # einen generischen Enumerator aus einem bestimmten Array? Im folgenden Code MyArraybefindet sich ein Array von MyTypeObjekten. Ich möchte MyIEnumeratorin der gezeigten Weise erhalten, aber es scheint, dass ich einen leeren Enumerator erhalte (obwohl ich das bestätigt habe...

89
Liste <T> .Contains () ist sehr langsam?

Kann mir jemand erklären, warum die Generika- List.Contains()Funktion so langsam ist? Ich habe eine List<long>mit ungefähr einer Million Nummern und den Code, der ständig überprüft, ob diese Nummern eine bestimmte Nummer enthalten. Ich habe versucht, dasselbe mit Dictionary<long,...

89
Typ 'Int' kann nicht implizit in 'T' konvertiert werden.

Ich kann anrufen Get<int>(Stat);oderGet<string>(Name); Aber beim Kompilieren bekomme ich: Typ 'int' kann nicht implizit in 'T' konvertiert werden. und das gleiche für string . public T Get<T>(Stats type) where T : IConvertible { if (typeof(T) == typeof(int)) { int t =...

89
Was ist der Sinn von Guavas optionaler Klasse?

Ich habe kürzlich darüber gelesen und Leute gesehen, die diese Klasse verwenden, aber in fast allen Fällen nullhätte die Verwendung auch funktioniert - wenn nicht intuitiver. Kann jemand ein konkretes Beispiel geben, wo Optionaletwas erreicht werden nullkönnte, das nicht oder viel sauberer wäre?...

86
Sortieren einer IList in C #

So bin ich heute auf ein interessantes Problem gestoßen. Wir haben einen WCF-Webdienst, der eine IList zurückgibt. Nicht wirklich eine große Sache, bis ich es sortieren wollte. Es stellt sich heraus, dass in der IList-Schnittstelle keine Sortiermethode integriert ist. Am Ende benutzte ich die...

86
Wie Instanz von List <MyType>?

Wie kann ich so etwas zum Laufen bringen? Ich kann prüfen ob ob (obj instanceof List<?>)aber nicht ob (obj instanceof List<MyType>). Gibt es eine Möglichkeit, dies zu tun?

84
Cast Int zu Generic Enum in C #

Ähnlich wie Cast int to enum in C #, aber meine Aufzählung ist ein generischer Typparameter. Was ist der beste Weg, um damit umzugehen? Beispiel: private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } Erzeugt einen Compilerfehler Cannot convert type 'int' to...