Als «generics» getaggte Fragen

Generika sind eine Form des parametrischen Polymorphismus, der in einer Reihe von Sprachen zu finden ist, darunter .NET-Sprachen, Java, Swift und Rust.



3
C # Verwenden Sie System.Type als generischen Parameter
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 …
84 c#  generics  .net-4.0  types 

10
Was ist der „richtige“ Weg, um Hibernate Query.list () in List <Type> umzuwandeln?
Ich bin ein Neuling im Ruhezustand und schreibe eine einfache Methode, um eine Liste von Objekten zurückzugeben, die einem bestimmten Filter entsprechen. List&lt;Foo&gt;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; …


7
Verfügt .NET über ein integriertes EventArgs <T>?
Ich bereite mich darauf vor, eine generische EventArgs-Klasse für Ereignisargumente zu erstellen, die ein einziges Argument enthalten: public class EventArg&lt;T&gt; : EventArgs { // Property variable private readonly T p_EventData; // Constructor public EventArg(T data) { p_EventData = data; } // Property for EventArgs argument public T Data { get …
84 c#  generics  eventargs 

3
Ein besonderes Merkmal der Inferenz vom Ausnahmetyp in Java 8
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 &lt;T extends Throwable&gt; void sneakyThrow(Throwable t) throws T { throw (T) …

6
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&lt;T&gt;(int i) where T : struct, IConvertible { return (T)i; } Erzeugt einen Compilerfehler Cannot convert type 'int' to 'T' Der vollständige Code …
84 c#  generics  casting  enums 


6
Erstellen einer generischen Methode in C #
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 …
83 c#  generics 

5
Java: Begrenzte Platzhalter oder gebundene Typparameter?
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&lt;? extends Shape&gt; shapes){ for (Shape s: shapes) { s.draw(this); } } Ich kann eine Methode wie diese erstellen, und sie funktioniert einwandfrei: public &lt;T extends Shape&gt; void drawAll(List&lt;T&gt; shapes){ for …

1
Erklärung des Get-Put-Prinzips
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 …
82 java  generics 


11
C # Generika und Typprüfung
Ich habe eine Methode, die ein IList&lt;T&gt;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&lt;T&gt;(IList&lt;T&gt; clause) { if (clause.Count …
82 c#  generics  types 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.