參考
有時候經常用到需要把乙個匿名物件存入session或list或其他容器中,可是取出來的時候變成object了,不太方便使用。
下面是一種轉換方式:
[csharp]
class program
);
olist.add(new );
//使用動態型別
foreach (dynamic item in olist)
//做型別轉換
var obj = changetype(olist[0], new );
console.writeline(obj.name);
//直接反射
console.writeline(olist[0].gettype().getproperty("
name
").getvalue(olist[0]).tostring());
} static t changetype(object obj, t t)
} view code
/獲取所有員工和賬號列表對應關係。
datatable dtaccoutidlist = bll.getlist(model);
//新增一行空行。
datarow dr = dtaccoutidlist.newrow();
dr["accountname"] = "";
dr["accountid"] = "-2";
dtaccoutidlist.rows.insertat(dr, 0);
dtaccoutidlist.acceptchanges();
this.cmbaccountlist.displaymember = "accountname";
this.cmbaccountlist.valuemember = "[accountid]";
var query3 = dtaccoutidlist.asenumerable().select(s => new ).orderby(o => o.accountname).distinct().tolist();
this.cmbaccountlist.datasource = query3;
將資料來源轉換為匿名物件陣列。
var cmbaccountdatasource = this.cmbaccountlist.datasource.changetype(new }.tolist());
或者 this.cceaccount.properties.datasource = accounts.select(m => new ).tolist();
將選擇的項,轉換為匿名物件
var cmbselecteditem = this.cmbaccountlist.selecteditem.changetype(new );
int selectedaccountid=cmbselecteditem.accountid
string selectedaccoutname=cmbselecteditem.accountname
///擴充套件方法
public static class extension
匿名物件和object的轉換
參考 object 或其他容器中,可是取出來的時候變成object了,不太方便使用。下面是一種轉換方式 csharp class program olist.add new 使用動態型別 foreach dynamic item in olist 做型別轉換 var obj changetype o...
匿名物件和object的轉換
有時候經常用到需要把乙個匿名物件存入session或list或其他容器中,可是取出來的時候變成object了,不太方便使用。下面是一種轉換方式 csharp class program olist.add new 使用動態型別 foreach dynamic item in olist 做型別轉換 ...
匿名型別和Object轉換
本文 但是開發中遇到乙個問題,當把匿名型別作為返回值的時候,會變成object型別,如果才能再轉換能對應的匿名型別呢?返回匿名型別的函式,會轉換成object型別 object returnanonymous void main console.writeline typed.city,typed....