è possibile vincolo un metodo in modo che esso riceve solo int
, double
, long
o altri tipi numerici che ha le operazioni numeriche (come +
, -
, *
, /
) definito?Generics che limita i tipi di Int, doppio, lungo
18
A
risposta
16
Al momento non è possibile.
Inoltre, vedere this question per una possibile soluzione
9
No, purtroppo non c'è tale limitazione possibile. Il più vicino possibile è usare struct, IConvertible
come vincolo di tipo generico.
Si consiglia di leggere this question però.
+2
Sono sorpreso dal motivo per cui questo Lucero non è stato votato. L'utilizzo delle strutture è il più vicino e può limitare il tipo di parametro ai tipi di valore – AlwaysAProgrammer
Problemi correlati
- 1. Tipi di Scala, Lungo, Int, ecc
- 2. operandi non validi di tipi int e doppio binario 'operatore%'
- 3. Utilizzo di "/" con doppio lungo?
- 4. Generics non risolvere i tipi di metodo correttamente
- 5. Limita i tipi in Java per l'utilizzo in un elenco
- 6. Java Generics e tipi di reso
- 7. Generics Java che passa i parametri
- 8. Java int + = doppio sintassi sorpresa
- 9. Generics -Open e chiusi Tipi costruiti
- 10. Come ottenere un doppio letterale Python lungo?
- 11. xlwt che limita il numero di righe
- 12. C++ firmato e unsigned int vs lunga velocità lungo
- 13. Int lungo lungo su macchine a 32 bit
- 14. Limita un doppio a due decimali senza zero finale
- 15. Legatura per mostrare il doppio come int
- 16. C'è qualche sostituzione del doppio lungo in java?
- 17. Objective C int a doppio calcolo
- 18. Limita i puntatori e la sottolineatura
- 19. Generics Java: la presunzione tipi più di due parametri
- 20. Java Puzzler - casting un doppio su int
- 21. C++: come arrotondare un doppio a un int?
- 22. I tipi Null sono tipi di riferimento?
- 23. 1l a lungo, 1f per float, 1d per doppio, che dire di byte?
- 24. Come specificare i tipi non consentiti in un vincolo di .NET Generics?
- 25. Esiste una classe .NET che rappresenta i tipi di operatore?
- 26. rendimenti perché TypeId che int e const int sono gli stessi tipi
- 27. Gradle si lamenta che non può convertire a lungo per int anche quando il metodo prende come parametro di lungo
- 28. nome di Generics
- 29. Come vengono implementati i C# Generics?
- 30. Perché C# Math.floor() restituire il doppio, invece di Int
Probabilmente si potrebbe creare un'interfaccia con quelle operazioni e avvolgere i tipi di dati numerici in qualcosa che implementa quell'interfaccia. Probabilmente non sarà il più efficiente e userà un sacco di cose personalizzate, ma risolverà il problema se questa è la cosa più importante. –