Do czego służy ten wzór? zauważ, że różni się od "ciekawie powtarzającego się wzorca szablonu".klasa X: X <T> {} wzór w języku C# --- do czego służy?
5
A
Odpowiedz
4
Posiadanie ogólnej klasy przodków, która zna rzeczywistego potomka, który dziedziczy po niej, pomaga w scenariuszach, w których ogólny przodek musi ujawnić określoną nietypową klasę potomków jako część nie generycznego wyniku potomka.
Jednym z typowych przykładów jest metoda fabryki oświadczył w ogólnym przodka:
public class Parent<T>
where T : Parent<T>, new
{
public static T Create()
{
return new T(); // would be typically something more sophisticated
}
}
public class Child : Parent<Child>
{
}
Podstawową zaletą tej koncepcji jest code-deduplikacji.
+0
Czy to nie jest po prostu wzorzec Ciekawie powtarzającego się szablonu? Post pyta o klasę X: X
Powiązane problemy
- 1. Do czego służy UnmanagedMemoryStream?
- 2. Do czego służy Enum?
- 3. do czego służy java.lang.reflect.Method.isBridge()?
- 4. Do czego służy funkcja .ticks()?
- 5. Do czego służy debian RxJS.Observable?
- 6. Do czego służy global.asax?
- 7. Do czego służy os.linesep?
- 8. Do czego służy #pragma?
- 9. Do czego służy dokument.implementation.createHTMLDocument?
- 10. Do czego służy MemoryCache.AddOrGetExisting?
- 11. Do czego służy .data.rel.ro?
- 12. Do czego służy phonestateintentreceiver.notifyPhoneCallState?
- 13. Do czego służy GCC_NO_COMMON_BLOCKS?
- 14. do czego służy SDKDDKVer.h?
- 15. Do czego służy Control.IsHandleCreated?
- 16. Do czego służy DTMobileIS?
- 17. Do czego służy app.config?
- 18. Do czego służy nazwa enum?
- 19. Największa liczba <x?
- 20. Do czego służy przeciążanie funkcji PHP?
- 21. Do czego służy Python string.find?
- 22. Do czego służy właściwość FormsAuthenticationTicket.Version?
- 23. Do czego służy adresowanie WS?
- 24. Do czego służy makro HAVE_PSI_INTERFACE?
- 25. Do czego służy funkcja __path__?
- 26. Do czego służy element iframe?
- 27. Do czego służy plik _references.js?
- 28. Do czego służy stos kernela?
- 29. Do czego służy właściwość TForm.TipMode?
- 30. Do czego służy cordova/argscheck?
Czy masz na myśli "klasę X: T"? Jeśli tak, to * jest * ciekawie powtarzającym się szablonem. Zauważ, że jeśli twój tytuł jest poprawny, "X" i "X " są w rzeczywistości dwoma różnymi typami; musielibyśmy zobaczyć przykład takiego użycia. –
cdhowie
Tak, jest to X: X, a nie wzór CRTP. –
user580650