以前沒有特別在意,
最近有人問到這個問題,
才找個時間研究,
他的需求是在Dictionary的Value中需要放入各種不同類型的物件.
首先我們先建立兩種類別的物件(類別的內容不重要)
AWSReportData data1 = new AWSReportData();
data1.adGroupId = 2;
data1.adGroupName = "隨意";
CGamePrizeData data2 = new CGamePrizeData(EGameType.BIG_LOTTERY);
data2.num_01 = 1;
data2.num_02 = 2;
然後建立一個Dictionary並且加入物件
Dictionary<string, object> list = new Dictionary<string, object>();
list.Add("測試1", data1);
list.Add("測試2", data2);
之後取出物件
object obj1 = list["測試1"];
之後我們要判斷物件的類型,
方便做進一步的處理,
判斷類型的方式不只一種,
下面實驗了兩種方式都可以正常使用
第1種:
if(obj1 is AWSReportData)
{
AWSReportData data = (AWSReportData)obj1;
}
第2種:
Type type = obj1.GetType();
switch(type.Name)
{
case "AWSReportData":
AWSReportData data = (AWSReportData)obj1;
break;
}