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

12
การตั้งค่าคุณสมบัติโดยการสะท้อนกับค่าสตริง
stringฉันต้องการที่จะตั้งค่าคุณสมบัติของวัตถุผ่านสะท้อนที่มีค่าของประเภท ดังนั้นสำหรับตัวอย่างเช่นสมมติว่าฉันมีShipระดับด้วยคุณสมบัติของซึ่งเป็นLatitudedouble นี่คือสิ่งที่ฉันต้องการจะทำ: Ship ship = new Ship(); string value = "5.5"; PropertyInfo propertyInfo = ship.GetType().GetProperty("Latitude"); propertyInfo.SetValue(ship, value, null); เช่นนี้จะพ่นArgumentException: วัตถุประเภท 'System.String' ไม่สามารถแปลงเป็นประเภท 'System.Double' ฉันจะแปลงค่าเป็นประเภทที่เหมาะสมได้propertyInfoอย่างไร

14
Reflection - รับชื่อคุณลักษณะและค่าของคุณสมบัติ
ฉันมีชั้นเรียนให้เรียกมันว่าจองด้วยคุณสมบัติที่เรียกว่าชื่อ ด้วยคุณสมบัตินั้นฉันมีแอตทริบิวต์ที่เกี่ยวข้อง public class Book { [Author("AuthorName")] public string Name { get; private set; } } ในวิธีการหลักของฉันฉันใช้การไตร่ตรองและต้องการรับคู่ค่าคีย์ของแต่ละแอตทริบิวต์สำหรับแต่ละคุณสมบัติ ดังนั้นในตัวอย่างนี้ฉันคาดว่าจะเห็น "ผู้เขียน" สำหรับชื่อแอตทริบิวต์และ "ชื่อผู้ใช้" สำหรับค่าแอตทริบิวต์ คำถาม: ฉันจะรับชื่อคุณลักษณะและค่าของคุณสมบัติของฉันโดยใช้ Reflection ได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.