Als «type-inference» getaggte Fragen

Typinferenz ist der Prozess des automatischen Ableitens von Typen für Programme unter Verwendung von Regeln, die von einem Typsystem definiert werden.

30
Verwendung des Schlüsselworts var in C #
Gesperrt . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber historische Bedeutung hat. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Nach einer Diskussion mit Kollegen über die Verwendung des Schlüsselworts 'var' in C # 3 fragte ich mich, wie die Meinung der …
406 c#  type-inference  var 

3
Collections.emptyList () gibt eine Liste <Objekt> zurück?
Ich habe Probleme beim Navigieren in der Java-Regel zum Ableiten generischer Typparameter. Betrachten Sie die folgende Klasse mit einem optionalen Listenparameter: import java.util.Collections; import java.util.List; public class Person { private String name; private List&lt;String&gt; nicknames; public Person(String name) { this(name,Collections.emptyList()); } public Person(String name,List&lt;String&gt; nicknames) { this.name = name; this.nicknames …




5
So übergeben Sie einen Klassentyp als Funktionsparameter
Ich habe eine generische Funktion, die einen Webdienst aufruft und die JSON-Antwort zurück zu einem Objekt serialisiert. class func invokeService&lt;T&gt;(service: String, withParams params: Dictionary&lt;String, String&gt;, returningClass: AnyClass, completionHandler handler: ((T) -&gt; ())) { /* Construct the URL, call the service and parse the response */ } Was ich versuche zu …



8
Wie kann ich den Typ einer Variablen, die zur Entwurfszeit mit var deklariert wird, zuverlässig bestimmen?
Ich arbeite an einer Vervollständigungsfunktion (Intellisense) für C # in Emacs. Die Idee ist, dass, wenn ein Benutzer ein Fragment eingibt und dann über eine bestimmte Tastenkombination nach Abschluss fragt, die Abschlussfunktion .NET Reflection verwendet, um die möglichen Abschlüsse zu ermitteln. Um dies zu tun, muss der Typ der zu …

1
Aufrufen statischer generischer Methoden
Ich bin auf eine merkwürdige Situation mit statischen generischen Methoden gestoßen. Dies ist der Code: class Foo&lt;E&gt; { public static &lt;E&gt; Foo&lt;E&gt; createFoo() { // ... } } class Bar&lt;E&gt; { private Foo&lt;E&gt; member; public Bar() { member = Foo.createFoo(); } } Wie kommt es, dass ich im Ausdruck keine …


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) …

4
Warum erzeugt dieser Haskell-Code den Fehler "unendlicher Typ"?
Ich bin neu in Haskell und habe den Fehler "Ich kann keinen unendlichen Typ konstruieren", den ich nicht verstehen kann. Darüber hinaus konnte ich keine gute Erklärung dafür finden, was dieser Fehler überhaupt bedeutet. Wenn Sie also über meine grundlegende Frage hinausgehen und den Fehler "Unendlicher Typ" erklären könnten, würde …

9
"ViewViewById" in Kotlin nicht möglich. Fehler "Typinferenz fehlgeschlagen"
Ich erhalte die folgende Fehlermeldung, wenn ich versuche, eine RecycleViewID zu finden . Fehler: - Typinferenz fehlgeschlagen: Nicht genügend Informationen, um auf Parameter T zu schließen Code: class FirstRecycleViewExample : AppCompatActivity() { val data = arrayListOf&lt;String&gt;() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_recycleview) val recycler_view = findViewById(R.id.recycler_view) as RecyclerView ///IN …

3
Warum wird dieses Java 8-Programm nicht kompiliert?
Dieses Programm wird in Java 7 (oder in Java 8 mit -source 7) problemlos kompiliert, kann jedoch nicht mit Java 8 kompiliert werden: interface Iface&lt;T&gt; {} class Impl implements Iface&lt;Impl&gt; {} class Acceptor&lt;T extends Iface&lt;T&gt;&gt; { public Acceptor(T obj) {} } public class Main { public static void main(String[] args) …

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.