สมมติว่าฉันมีสมาชิกสามัญในชั้นเรียนหรือวิธีการดังนั้น:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
เมื่อผมยกตัวอย่างระดับที่Tจะกลายเป็นเพื่อให้ชั้นเรียนมีคุณสมบัติทั่วไปรายการ:MyTypeObject1 List<MyTypeObject1>เช่นเดียวกับวิธีการทั่วไปในชั้นเรียนที่ไม่ใช่ทั่วไป:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
ฉันอยากรู้ว่าวัตถุประเภทใดในรายการชั้นเรียนของฉันมี คุณสมบัติของรายการที่เรียกว่าBarหรือตัวแปรท้องถิ่นbazมีชนิดTใด
ฉันทำไม่ได้Bar[0].GetType()เพราะรายการอาจมีองค์ประกอบเป็นศูนย์ ฉันจะทำมันได้อย่างไร
object,IListหรือที่คล้ายกัน - แต่นี้เป็นอย่างดีอาจจะเป็นคำตอบที่เหมาะสม