DynamicObject 類似于鍵值對
假如現(xiàn)在有一個變量 DynamicObject 對象 dynamicObject 捉捅,它有一個 Name 的鍵
1. DynamicObject 取值
// * 取出來的值是object類型
string name = (string) dynamicObject["Name"];
2. DynamicObject 賦值
string newName = "張三";
dynamicObject["Name"] = newName;
3. DynamicObject 新增鍵
給 DynamicObject 里不存在的鍵賦值胧谈,sorry 做不了藐守,會報錯浙芙。
但是可以搞一手 貍貓換太子(我在金蝶里特喜歡用這招)。
思路: 創(chuàng)建一個 DynamicObject 來替換現(xiàn)有的 DynamicObject
DynamicObjectType dynamicObjectType = dynamicObject.DynamicObjectType;
// 在原來的基礎(chǔ)上新增一個鍵
dynamicObjectType.RegisterProperty("ID", typeof(string));
DynamicObject newDynamicObject = new DynamicObject(dynamicObjectType);
newDynamicObject["ID"] = "1234";
// 把原來的鍵值再賦值新的對象上 可以結(jié)合下面 DynamicObject 復(fù)制
……
然后再把 newDynamicObject 替換掉 DynamicObject 就行了
既然看到這兒乾翔,我想你可能在修改 DynamicObjectCollection 里元素的數(shù)據(jù)
如果你是要對 DynamicObjectCollection 全部元素爱葵,或者一部分元素進行新增鍵的話
————————————————————————————————————————————————
下面的話對你有用哦
對于 DynamicObjectCollection ,如果添加了一個DynamicObject對象反浓,
這個對象有著 DynamicObjectCollection 里其他元素沒有的鍵萌丈,
那么 DynamicObjectCollection 里其他的元素都會添加這個鍵
舉個例子:
DynamicObjectCollection collection;
// 這個collection里的所有的元素的鍵只有 Name
// 如果執(zhí)行 collection[0]["ID"] = "123"; 這句,就會報錯
DynamicObjectType dynamicObjectType = collection[0].DynamicObjectType;
dynamicObjectType.RegisterProperty("ID", typeof(string));
DynamicObject newDynamicObject = new DynamicObject(dynamicObjectType);
// Add()完成后雷则,collection里全部的元素都會有 ID 這個鍵辆雾,可以打斷點看一下
collection.Add(newDynamicObject );
collection.Remove(newDynamicObject );
// 現(xiàn)在再執(zhí)行這句就沒問題,即使 collection.Remove() 了新加的元素
collection[0]["ID"] = "123";
// 這個方法月劈,即不會頻繁的操作collection的 Add 和 Remove
// 也不用 貍貓換太子度迂,只是把貍貓放到太子面前溜一圈
// 可謂是十分的方便
————————————————————————————————————————————————
4. DynamicObject 復(fù)制
// 這樣就創(chuàng)建了一個跟 dynamicObject 一樣結(jié)構(gòu)的DynamicObject對象
DynamicObjectType dynamicObjectType = dynamicObject.DynamicObjectType;
DynamicObject newDynamicObject = new DynamicObject(dynamicObjectType );
foreach( DynamicProperty property in dynamicObjectType.Properties){
newDynamicObject[property.Name]=dynamicObject[property.Name];
}
金蝶云DynamicObject的相關(guān)操作
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丈莺,“玉大人划煮,你說我怎么就攤上這事送丰〉薅恚” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長俐载。 經(jīng)常有香客問我蟹略,道長,這世上最難降的妖魔是什么遏佣? 我笑而不...
- 正文 為了忘掉前任挖炬,我火速辦了婚禮,結(jié)果婚禮上状婶,老公的妹妹穿的比我還像新娘意敛。我一直安慰自己,他們只是感情好膛虫,可當(dāng)我...
- 文/花漫 我一把揭開白布草姻。 她就那樣靜靜地躺著,像睡著了一般稍刀。 火紅的嫁衣襯著肌膚如雪撩独。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼担平,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了锭部?” 一聲冷哼從身側(cè)響起暂论,我...
- 正文 年R本政府宣布,位于F島的核電站俐芯,受9級特大地震影響棵介,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吧史,卻給世界環(huán)境...
- 文/蒙蒙 一邮辽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贸营,春花似錦吨述、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芳肌,卻和暖如春灵再,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亿笤。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 首先 需要注冊 https://portal.qiniu.com 然后認證然后 https://portal.q...
- 本來寫的七牛云的上傳視頻功能,寫的差不多了燃领∈看希。現(xiàn)在要換騰訊云 今天注冊了一下賬戶看了一下記錄一下使用的騰訊云的對象...
- 今天面試了一個云平臺公司猛蔽,說是給阿里云做是IaaS的剥悟,說直白點就是服務(wù)器硬件運維,問了一堆偏底層的知識曼库,總結(jié)如下:...
- 1区岗、用戶相關(guān) 1.1創(chuàng)建用戶 超級(root)用戶 uid為0虛擬用戶uid為1~999(centos7) 1...
- 一、SSM整合與產(chǎn)品查詢 1.1 Spring環(huán)境搭建 1.1.1 編寫Spring配置文件application...