[C#.NET] 使用反射取得泛型屬性裡的型別
筆記一下:
我有一個 DbContext 類別,我想要把 DbSet<Account> Accounts 裡的 Account 類別成員取出來,如下圖:
透過 p.PropertyType.GetGenericArguments() 取得泛型屬性裡的物件,由於它會回傳集合,所以用 First() 讓它回傳單筆物件
var queryEntities = from p in typeof(MyDbContext).GetProperties()
where p.PropertyType.IsGenericType
&& p.PropertyType.GetGenericTypeDefinition() == typeof(DbSet<>)
select p.PropertyType.GetGenericArguments().First();
文章出自:http://www.dotblogs.com.tw/yc421206/archive/2014/08/04/146163.aspx
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET