Generika sind eine Form des parametrischen Polymorphismus, der in einer Reihe von Sprachen zu finden ist, darunter .NET-Sprachen, Java, Swift und Rust.
Ist es in C # verboten, einen Standardkonstruktor für eine generische Klasse zu implementieren? Wenn nicht, warum wird der folgende Code nicht kompiliert? (Wenn ich es entferne, wird <T>es kompiliert) Wie kann man dann einen Standardkonstruktor für eine generische Klasse richtig definieren? public class Cell<T> { public Cell<T>() { } …
Angenommen, ich möchte eine Typvariable T, die eine bestimmte Klasse erweitert und eine Schnittstelle implementiert. Etwas wie: class Foo <T : Bar implements Baz> { ... } Wie lautet die Syntax dafür in Kotlin?
Ich habe eine Liste von Typen (System.Type), die in der Datenbank abgefragt werden müssen. Für jeden dieser Typen muss ich die folgende Erweiterungsmethode aufrufen (die Teil von LinqToNhibernate ist): Session.Linq<MyType>() Ich habe jedoch keinen MyType, sondern möchte stattdessen einen Typ verwenden. Was ich habe ist: System.Type typeOne; Aber ich kann …
Ich bin ein Neuling im Ruhezustand und schreibe eine einfache Methode, um eine Liste von Objekten zurückzugeben, die einem bestimmten Filter entsprechen. List<Foo>schien ein natürlicher Rückgabetyp zu sein. Was auch immer ich tue, ich kann den Compiler nicht glücklich machen, es sei denn, ich beschäftige einen hässlichen @SuppressWarnings. import java.util.List; …
Ist es möglich, den folgenden Code zu erreichen? Ich weiß, dass es nicht funktioniert, aber ich frage mich, ob es eine Problemumgehung gibt. Type k = typeof(double); List<k> lst = new List<k>();
Ich bereite mich darauf vor, eine generische EventArgs-Klasse für Ereignisargumente zu erstellen, die ein einziges Argument enthalten: public class EventArg<T> : EventArgs { // Property variable private readonly T p_EventData; // Constructor public EventArg(T data) { p_EventData = data; } // Property for EventArgs argument public T Data { get …
Beim Schreiben von Code für eine andere Antwort auf dieser Site bin ich auf diese Besonderheit gestoßen: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) …
Ä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 'T' Der vollständige Code …
Dies ist eher eine Dokumentation als eine echte Frage. Dies scheint noch nicht auf SO angesprochen worden zu sein (es sei denn, ich habe es verpasst). Stellen Sie sich eine generische Klasse vor, die ein statisches Element enthält: class Foo<T> { public static int member; } Gibt es eine neue …
Ich versuche, eine Reihe ähnlicher Methoden zu einer generischen Methode zu kombinieren. Ich habe mehrere Methoden, die den Wert eines Querystrings zurückgeben, oder null, wenn dieser Querystring nicht existiert oder nicht im richtigen Format vorliegt. Dies wäre einfach genug, wenn alle Typen von Haus aus nullwertfähig wären, aber ich muss …
Kürzlich habe ich diesen Artikel gelesen: http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html Meine Frage ist, anstatt eine Methode wie diese zu erstellen: public void drawAll(List<? extends Shape> shapes){ for (Shape s: shapes) { s.draw(this); } } Ich kann eine Methode wie diese erstellen, und sie funktioniert einwandfrei: public <T extends Shape> void drawAll(List<T> shapes){ for …
Ich habe das O'Reilly-Buch gelesen, indem ich dieses Get-Put-Prinzip kennengelernt habe . Verwenden Sie einen extendsPlatzhalter , wenn Sie nur bekommen Werte aus einer Struktur. Verwenden Sie einen superPlatzhalter , wenn Sie nur setzen Werte in eine Struktur. Verwenden Sie keinen Platzhalter, wenn Sie beide von / zu einer Struktur …
Gibt es eine Möglichkeit festzustellen, ob ein Objekt eine Instanz eines generischen Typs ist? public <T> test(Object obj) { if (obj instanceof T) { ... } } Das funktioniert eindeutig nicht. Gibt es eine Alternative? Als ob ich Java Reflection verwenden möchte, um eine Klasse zu instanziieren und dann zu …
Ich habe eine Methode, die ein IList<T>als Parameter verwendet. Ich muss überprüfen, was der Typ dieses TObjekts ist, und etwas basierend darauf tun. Ich habe versucht, den TWert zu verwenden, aber der Compiler lässt ihn nicht zu. Meine Lösung lautet wie folgt: private static string BuildClause<T>(IList<T> clause) { if (clause.Count …
Was ist die effizienteste Methode, um die Werteliste eines Wörterbuchs in ein Array umzuwandeln? Wenn ich zum Beispiel ein DictionaryWo Keyist Stringund Valueist Foo, möchte ich bekommenFoo[] Ich verwende VS 2005, C # 2.0
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.