Tengo dos clases:Diseño modelo para permitir funciones para aceptar los tipos genéricos
public abstract class Uniform<T>
public class UniformMatrix4 : Uniform<Matrix4>
(hasta ahora .... habrá más que implementan tipos diferentes)
Y ahora digamos Quiero escribir una función que acepte cualquier objeto uniforme ... pero no puedo hacer eso porque no hay una clase llamada Uniform
, solo el genérico Uniform<T>
. Entonces, ¿cuál es el mejor enfoque para resolver este problema?
- Hacer
Uniform<T>
implementoIUniform
- Hacer
Uniform<T>
extiendenUniform
- Hacer todas mis funciones que aceptan un uniforme a ser genéricos demasiado para que puedan tomar una
Uniform<T>
directamente?
¿Qué versión de C# se utiliza? ¿Has considerado el tipo dinámico? –
Cuando no hay una clase llamada Uniforme, ¿cómo puede existir un objeto Uniforme? –
Sin saber nada sobre el propósito de la clase, o sus firmas de métodos abstractos, es difícil dar una respuesta adecuada aquí. # 3 parece la respuesta obvia sin embargo. –