¿hay una cláusula where para un genérico que determina que T es de tipo primitivo?C# restricción genérica donde no es clase?
void Method<T>(T val) where T : primitive
caso:
tienen un lenguaje funcional escrito en C que se alimenta de tipos blitable no administrados primitivos, o cosas que pueden ser empujado en una primitiva con facilidad (por ejemplo, una fecha sin horas/minutos./seconds podría ser empujado a un int, etc.) El plan original era utilizar GPU. No haciendo eso sin embargo. C# se mantiene bien en su papel de coordinador hasta ahora. Tiendo a pensar que el hogar del esquema es vivir en C#. Esto no es estrictamente cierto, pero la idea sirve bien al proyecto.
Me gusta OO, pero cuando se trata de ideas funcionales, me gustaría restringir esos pensamientos a los tipos que son compatibles con ese dominio. Curiosamente, estoy todavía apoyándome en C# para ayudarme a mantenerme estructurado y disciplinado. No veo eso cambiando.
Hay otras razones por las que ser más detallado con las limitaciones sería una buena cosa para mí.
btw: resharper sugirió interfaces explícitas que probé por un tiempo. Me gustó mucho esta notación ... y las restricciones también pueden vivir con la interfaz. Bonito. Sin embargo, me encontré con la advertencia de Jon Skeet en S/O sobre esta herencia desordenada. Por lo tanto, volvamos a AssertIsXYZ, un tiempo de ejecución mucho más intenso.
Para llevar eso un poco más lejos, donde las limitaciones para mí son un paso hacia la prueba de la corrección (viejas ideas, pero aún buenas). El sistema de tipeo parece permitir que algo de esto sea enviado al compilador. Usar la palabra "dónde" hizo pensar en una cláusula o frase (como en SQL/LINQ). No estoy pidiendo que sea llevado al enésimo grado. Cuanto más trabajo haga el compilador, mejor en lo que a mí respecta.
Tener tacto con las limitaciones me ayudó a aclarar algunas ideas. Tengo que dar crédito allí ... pero es una pena que tuve que comentar las limitaciones después.
¿No es todo en C# un objeto? – zellio
Me interesa saber cuál es el uso. –
¿Puedo preguntar por qué necesita esto? Desearía que los genéricos fueran más poderosos, pero por esto no veo la necesidad. – Carsten