System.Collections.IStructuralEquatable
ve System.Collections.IStructuralComparable
eklenmiştir, ancak neden jenerik değiller, IEquatable<T>
ve ve IComparable<T>
?Neden IStructuralEquatable ve IStructuralComparable genel değil? .NET 4'te
cevap
example on MSDN buradaki cevabın bir bölümünü verir; homojen eşitlikten ziyade heterojen eşitlik için yararlı gibi görünmektedir - yani türünde iki nesnenin (/ değerlerin) farklı olarak eşit olarak kabul edilip edilmeyeceğini test etmek için. Bu tür senaryolarda, arama kodunun object
(heterojen veriyi temsil etmek) ile uğraşması son derece muhtemeldir. Ve jenerik yöntemler o zaman iyi oynamıyorlar.
Ancak, diğer nesne tam olarak aynı türde değilse, tüm "Tuple" sınıfları basitçe 'false' döndürür. 'Array' bunu doğru uygular gibi görünüyor ... – thecoop
Array, benim için de aynı şekilde davranıyor. Bu test başarısız: Assert.IsTrue (StructuralComparisons.StructuralEqualityComparer.Equals (yeni [] {5, 10}, yeni [] {5.0, 10.0})); –
- 1. Neden List.toArray() genel değil?
- 2. TaskFactory.StartNew yöntemi neden genel değil?
- 3. Neden 'Kod yeterince genel değil'?
- 4. .NET'te genel dizinleyicileri tanımlamak neden mümkün değil?
- 5. Genel değişkenler C# .net
- 6. .NET: İki genel listeyi birleştiriyor
- 7. Neden .net dizileri neden IEnumerable ve IEnumerable <T> değil?
- 8. Neden .NET
- 9. .NET Regex genel eşleşmeyi destekliyor mu?
- 10. .Net Genel Bağlantılı Anahtar Simgelere Bağlama Yönlendirme
- 11. Googlebot, .NET System.Web.HttpException neden
- 12. neden kontrolör ve HTML bağlı değil?
- 13. zipWithIndex neden Yinelenebilir ve Geçilir değil?
- 14. Neden CMSAdapter ve contenthub mevcut değil?
- 15. .NET Regex Lookbehind Açgözlü Değil
- 16. Neden Multicore JIT, .net 4.5'de "varsayılan olarak açık" değil? .net In 4,5
- 17. Kullanıcı denetimi içindeki genel yöntemler C# .net
- 18. Yasemin: Neden bir neden olsun ve değil mi?
- 19. Asp.NET Handler ve Genel İşleyici
- 20. Uzatma Metodu aşağıdaki programda net değil
- 21. Neden xdebug'ım tarz değil?
- 22. Set Teorisi ve .NET
- 23. Genel değişkenim neden yerel bildirimlerden önce gölgelendi?
- 24. Neden getch taşınabilir değil?
- 25. Neden $ @ `güvenilir değil?
- 26. Python: NameError: 'dot_parser' genel adı tanımlı değil
- 27. . Net expando nesnesi ve LINQ. Mümkün mü değil mi?
- 28. Görüşlerim neden çizim değil?
- 29. "asılı referans" ve "genel koruma hatası" nedir?
- 30. Neden java.awt.image.BufferedImage serializable değil?
C# jenerikler, bir tür parametresi için yapısal gereksinimleri belirtmenize izin vermez. – Ani