Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

258
Visualizações
¿Cómo entender la restricción de tipo genérico recursivo en Unity C#?

Si bien entiendo los tipos genéricos <T> y la cláusula where para la restricción, estaba confundido acerca del siguiente código de la plantilla de Unity Tower Defense:

 public abstract class Singleton<T> : MonoBehaviour where T : Singleton<T>

¿Cuál es el propósito de restringir el tipo para que sea él mismo?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Te impide hacer esto:

 public class A { } public class B : Singleton<A> { }

Obtendrá un error de compilación. Debido a la restricción de tipo, debe escribir:

 public class A : Singleton<A> { }
over 4 years ago · Santiago Trujillo Relatório

0

En la parte superior de mi cabeza, un posible beneficio de esto es permitir que los métodos devuelvan el tipo específico. Esto se hace mediante métodos de estilo fluido . Otro ejemplo, obviamente no aplicable al ejemplo que publicaste, es un método Copy() que devuelve una copia del objeto como el tipo derivado en lugar de como su tipo base. Las firmas de método de la clase Singleton< T> que publicaste probablemente muestren dónde usa el parámetro T y probablemente insinúen la razón por la que usa este patrón.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda