[英]How to get the entities from generic EntitySet on run-time without knowing the generic type?
我正在創建一個映射器函數,該函數將在運行時使用具有未知不同通用類型的EntitySet<>
,我想在傳入的EntitySet
獲取實體並將其添加到列表中。
我無法訪問實體,因為我將EntitySet
作為對象來了,並且當我嘗試將對象轉換為各自的類型時,我失敗了,因為我不知道EntitySet
的通用類型
((EntitySet<XXXX>)dataValues[pInfo.Name]).ToList();
我可以讀取通用EntitySet
的數據類型,但無法使用它進行演員表轉換,我不知道如何或什至不可以!
dataValues[pInfo.Name].GetType().GenericTypeArguments.First()
我不太在乎泛型類型,因為我只需要將集合放入EntitySet
。
我知道我的問題看起來很重復,但是老實說,我搜索時發現的結果無法解決我的問題。
我正在使用C#
和ASP.net
EntySet繼承自System.Collections.Generic.ICollection,System ICollection繼承自System.Collections.Generic.IEnumerable,而IEnumerable繼承自System.Collections.IEnumerable。
System.Collections.IEnumerable不是通用接口。 您可以在ineach中使用。
所以你的功能是這樣的:
public class Example
{
public static void EnumEntities( IEnumerable entities )
{
foreach( var entity in entities )
{
Console.WriteLn( entity.ToString());
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.