Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

192
Views
Parámetro y restricción de tipo de clase genérica de C# que es igual que el parámetro genérico

La API de .NET de pago de Stripe tiene una definición de clase genérica como la siguiente y me gustaría entender por qué la parte de restricción StripeEntity<T> debería ser del tipo T .

 public abstract class StripeEntity<T> : StripeEntity where T : StripeEntity<T>

De: https://github.com/stripe/stripe-dotnet/blob/master/src/Stripe.net/Entities/_base/StripeEntity.cs

Entiendo la sintaxis genérica, pero no entiendo por qué la clase se define de esta manera, el pensamiento detrás de ella. ¿Es este un patrón común en las clases genéricas y, de ser así, cuáles son los beneficios?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Se llama el patrón curiosamente recurrente , generalmente usado en C++.

Tiene un par de cosas a su favor, especialmente el hecho de que es una forma (muy limitada) de polimorfismo estático y, por lo tanto, evita los costos de llamar a funciones virtuales. Sin embargo, eso tiene más valor en C++ que en C#, debido a cómo se construyen el lenguaje y el tiempo de ejecución.

.Net también tiene mejores formas de lidiar con esto, por ejemplo, podría lograr algo similar de una manera más limpia mediante el uso de atributos y generadores de fuentes.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!