คำถามติดแท็ก valuetuple

1
ValueTuple covariant คืออะไร
สิ่งนี้รวบรวมได้อย่างถูกต้องใน C # 7.3 (Framework 4.8): (string, string) s = ("a", "b"); (object, string) o = s; ฉันรู้ว่านี่คือน้ำตาลประโยคสำหรับต่อไปนี้ซึ่งยังรวบรวมอย่างถูกต้อง: ValueTuple<string, string> s = new ValueTuple<string, string>("a", "b"); ValueTuple<object, string> o = s; ดังนั้นจึงปรากฏว่า ValueTuples สามารถกำหนดcovariantly , ซึ่งเป็นที่น่ากลัว ! น่าเสียดายที่ฉันไม่เข้าใจว่าทำไม : ฉันรู้สึกว่า C # รองรับความแปรปรวนร่วมบนอินเทอร์เฟซและผู้ได้รับมอบหมายเท่านั้น ValueTypeไม่ใช่ อันที่จริงแล้วเมื่อฉันพยายามทำซ้ำฟีเจอร์นี้ด้วยรหัสของฉันเองฉันล้มเหลว: struct MyValueTuple<A, B> { public …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.