สิ่งตีพิมพ์ในหัวข้อ 'generics'


ข้อมูลทั่วไปและความแปรปรวน
สวัสดีคนรักทั่วไปและประเภทความปลอดภัย ฉันอยากเขียนบทความเกี่ยวกับ Generics & Variance มาเป็นเวลานานแล้ว แต่ก็ไม่สามารถเริ่มได้ มีบทความและวิดีโอดีๆ มากมายในหัวข้อนี้ ซึ่งฉันไม่สามารถคิดหาวิธีเพิ่มมูลค่าได้ แต่ที่นี่ฉันกำลังพยายาม หากคุณเป็นผู้เชี่ยวชาญ คุณสามารถตรวจสอบเนื้อหาด้านล่างนี้ได้ หรือหากคุณเป็นมือใหม่ คุณอาจได้รับสิ่งใหม่ๆ บ้าง เริ่มกันเลย. ข้อมูลทั่วไป พวกเขาคืออะไร? แนวคิดของ Generics ริเริ่มครั้งแรกในภาษาการเขียนโปรแกรมที่เรียกว่า "ML" (Meta Language) ในปี 1973..

คำถามในหัวข้อ 'generics'

สามารถเพิ่มองค์ประกอบลงในคอลเลกชันทั่วไปของไวด์การ์ดได้อย่างไร
เหตุใดฉันจึงได้รับข้อผิดพลาดของคอมไพเลอร์ด้วยโค้ด Java นี้ 1 public List<? extends Foo> getFoos() 2 { 3 List<? extends Foo> foos = new ArrayList<? extends Foo>(); 4 foos.add(new SubFoo()); 5 return foos; 6 }...
20451 มุมมอง
schedule 09.11.2023

ฉันจะโหลดประเภททั่วไปที่มีประเภทที่ซ้อนกันจากแอสเซมบลีที่โหลดแบบไดนามิกได้อย่างไร
ในแอสเซมบลีที่โหลดลงใน AppDomain ปัจจุบันโดยใช้ Assembly.LoadFrom ฉันมีรหัสต่อไปนี้: [TypeConverter(typeof(EnumConverter<Shapes>))] public enum Shapes { Triangle, Square, Circle } EnumConverter‹T›...
2654 มุมมอง
schedule 30.11.2023

การผสมพารามิเตอร์ประเภทและประเภทนามธรรมในสกาลา
ฉันกำลังพยายามใช้คำตอบของ คำถามก่อนหน้า เพื่อใช้กราฟขนาดเล็ก ห้องสมุด. แนวคิดก็คือการพิจารณากราฟเป็นคอลเลคชัน โดยที่จุดยอดจะล้อมองค์ประกอบคอลเลกชั่น ฉันต้องการใช้ประเภทนามธรรมเพื่อแสดงประเภท Vertex และ Edge (เนื่องจากความปลอดภัยของประเภท)...
2422 มุมมอง
schedule 03.01.2024

Java generics + วิธีการโรงงานแบบคงที่ = [ตื่นตระหนก]
ฉันคิดว่าตอนนี้ฉันจะเข้าใจ Java generics แล้ว แต่ตอนนี้ฉันทำอะไรไม่ถูกอีกแล้ว ฉันมีคลาสทั่วไปที่ c-tor สร้างอินสแตนซ์ที่พิมพ์อย่างถูกต้อง ในขณะที่วิธีการจากโรงงานแบบคงที่สร้างประเภทที่ไม่ตรงกัน โปรดดูรหัสต่อไปนี้: public class...
3006 มุมมอง

ประเภทการส่งคืนทั่วไปของ Marshal สำหรับ com interop
เป็นไปได้ไหมที่ Marshal จะเป็นประเภทส่งคืนทั่วไปซึ่งไม่ใช่แบบทั่วไปสำหรับ COM interop สมมติว่าฉันมีคลาสต่อไปนี้: [ComVisible(true)] public class Foo { public IEnumerable<string> GetStr() // Generic return type { yield...
634 มุมมอง
schedule 18.01.2024

ความหลากหลายประเภททั่วไป
public class A {} public class B : A {} ตอนนี้วิธีที่ดีที่สุดในการทำงานนี้คืออะไร List<A> a; List<B> b = new List<B>(); a = b; // throw Cannot convert List<B> to List<A> ขอบคุณ
676 มุมมอง
schedule 27.10.2023

Google Gson - ดีซีเรียลไลซ์รายการ‹คลาส› วัตถุ? (ประเภททั่วไป)
ฉันต้องการถ่ายโอนออบเจ็กต์รายการผ่าน Google Gson แต่ฉันไม่ทราบวิธีดีซีเรียลไลซ์ประเภททั่วไป สิ่งที่ฉันลองหลังจากดู สิ่งนี้ ( คำตอบของ BalusC): MyClass mc = new Gson().fromJson(result, new List<MyClass>(){}.getClass());...
356189 มุมมอง
schedule 14.12.2023

boost::lexical_cast ใช้เทมเพลตเพียงประเภทเดียวได้อย่างไร
ฉันได้ตรวจสอบความยุ่งเหยิงที่เป็น lexical_cast.hpp แล้ว และสิ่งนี้ยังคงหลบหนีฉันไป lexical_cast ซึ่ง 'คำจำกัดความพื้นฐาน' ใช้ทั้งแหล่งที่มาและปลายทางของเทมเพลตสามารถยอมรับไวยากรณ์เช่น lexical_cast<int>("7") ได้อย่างไร...
191 มุมมอง

วิธีการทั่วไปในการตรวจสอบ int, double GetType() ใช้งานอย่างไร?
ฉันกำลังพยายามเขียนวิธีการตรวจสอบ เช่น สำหรับ double ดูเหมือนว่านี้: protected bool ValidateLoopAttributes(string i_value, double i_threshold) { double result; if (!(double.TryParse(i_value, out result) && result...
1951 มุมมอง
schedule 06.01.2024

Java Generics (ไวด์การ์ดที่มีขอบเขต)
ตามหนังสือ "Effective Java" ของ Joshua Bloch มีกฎเกี่ยวกับวิธีการ/เมื่อใช้ wildcards ที่มีขอบเขตในยาชื่อสามัญ กฎนี้คือ PECS (Producer-Extends, Comsumer-Super) เมื่อฉันศึกษาตัวอย่างต่อไปนี้: Stack<Number> numberStack = new...
1215 มุมมอง

มีวิธีแก้ไขชั่วคราวในการใช้วิธีคงที่โดยคลาสทั่วไปหรือไม่?
ฉันมีปัญหาค่อนข้างง่าย แต่ดูเหมือนว่าจะไม่มีวิธีแก้ปัญหาภายใน C# ฉันมีคลาส Foo ประมาณ 100 คลาสโดยแต่ละคลาสใช้เมธอด static FromBytes() นอกจากนี้ยังมีคลาสทั่วไปบางคลาสที่จะใช้วิธีการเหล่านี้เพื่อ FromBytes() ของตัวเอง...
644 มุมมอง
schedule 27.12.2023

มีชื่อสำหรับรูปแบบนี้หรือไม่
ฉันเคยใช้รูปแบบนี้หลายครั้งในหลายๆ ที่ โดยปกติจะใช้ร่วมกับรูปแบบปลั๊กอิน ตัวอย่างบางวิธีที่ฉันใช้กับระบบการรับส่งข้อความ เช่น การสร้างผู้สมัครรับข้อความประเภทต่างๆ ที่ไม่เกี่ยวข้อง...
184 มุมมอง

วิธีห่อหุ้มเซสชัน API ของ Hibernate เพื่อหลีกเลี่ยงคำเตือนยาสามัญที่ไม่ได้ตรวจสอบ
ฉันกำลังเขียน wrapper สำหรับ Hibernate Session API: @SuppressWarnings("unchecked") public <T> List<T> execQuery(String hql){ Session s=sf.getCurrentSession(); return s.createQuery(hql) .list(); }...
112 มุมมอง
schedule 18.11.2023

Scala: การจับคู่รูปแบบกับคลาสเคสทั่วไป
เป็นไปได้หรือไม่ที่จะจับคู่คลาสเคสทั่วไป? แนวคิดคือการใช้คลาสเคสทั่วไปเป็นข้อความระหว่างนักแสดง นั่นคือแนวทางของฉัน: มีวิธีที่จะทำให้สิ่งนี้เป็นไปได้หรือไม่? case class EbTreeDataObject[T](uId: Long, changeId: Long, payload:Option[T]) case...
1619 มุมมอง
schedule 08.11.2023

วิธีการตั้งค่าให้กับตัวแปรคลาสโดยไม่ต้องใช้ตัวตั้งค่า
ฉันต้องการแทรกค่าให้กับตัวแปร Object โดยไม่ใช้ตัวตั้งค่า เป็นไปได้อย่างไร.. นี่คือตัวอย่าง Class X{ String variableName; // getters and setters } ตอนนี้ฉันมีฟังก์ชันที่ประกอบด้วย variable name , value to be set และ Object of the...
8552 มุมมอง
schedule 04.01.2024

ค้นหาอาร์เรย์สำหรับวัตถุประเภทที่ให้ไว้
ฉันมีสัตว์มากมาย ฉันต้องการค้นหาคลาสย่อยบางประเภท อาร์เรย์ของสัตว์จะมีคลาสย่อยเพียงประเภทเดียวเท่านั้น ฉันได้ลองทำสิ่งต่อไปนี้แล้ว ซึ่งไม่ได้ผล ฉันได้รับข้อผิดพลาดในการคอมไพล์ โดยระบุว่า: "animalType ไม่ใช่ประเภท" public static func...
61 มุมมอง
schedule 24.12.2023

ArrayLiteralConvertible: แค่โปรโตคอลปกติเหรอ?
กำลังพยายามทำความเข้าใจและชื่นชมวิธีการทำงานของ ArrayLiteralConvertible... struct Struct<T>: ArrayLiteralConvertible { init(arrayLiteral elements: T...) { for element in elements { print(element) } } }...
170 มุมมอง
schedule 08.11.2023

Gwt ขอโรงงาน ข้อมูลทั่วไปและการสืบทอดทางฝั่งไคลเอ็นต์
ฉันกำลังพยายามเขียนคลาสทั่วไปเพื่อหลีกเลี่ยงการใช้โค้ดซ้ำ ฉันต้องการมีวิธีทั่วไปสำหรับ: รับเอนทิตี/โมเดลจากเซิร์ฟเวอร์ด้วยรหัส รับรายการเอนทิตี/โมเดลทั้งหมดจากเซิร์ฟเวอร์ ส่งไปยังเซิร์ฟเวอร์และบันทึกใน db Entity/Model ควรใช้ได้กับคลาส...
240 มุมมอง

การสะท้อน Java และข้อมูลทั่วไป - ข้อมูลประเภทที่กำหนดพารามิเตอร์ขาดหายไป
ฉันต้องการสร้างลายเซ็นของวิธีการใหม่โดยใช้การสะท้อนกลับใน Java 8 ฉันพบปัญหาบางอย่างเกี่ยวกับวิธีการทั่วไป โดยเฉพาะอย่างยิ่ง ฉันไม่พบสิ่งใดที่จะช่วยกู้คืนข้อมูลเกี่ยวกับกรณีของ "extends" หรือ "super" ในการประกาศประเภทเทมเพลต...
179 มุมมอง
schedule 09.12.2023

การใช้งานคุณลักษณะที่ขัดแย้งกันใน Rust
ฉันต้องการใช้คุณสมบัติที่กำหนดเองสำหรับ &'a str และสำหรับจำนวนเต็มจนถึง i32 แต่ Rust ไม่อนุญาตให้ฉัน: use std::convert::Into; pub trait UiId { fn push(&self); } impl<'a> UiId for &'a str { fn push(&self) {} }...
5313 มุมมอง
schedule 15.11.2023