สมมติว่าฉันมีสมาชิกสามัญในชั้นเรียนหรือวิธีการดังนั้น:
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
หรือที่คล้ายกัน - แต่นี้เป็นอย่างดีอาจจะเป็นคำตอบที่เหมาะสม