以前是做過了,可是沒抄錄下才,現在又再找一次,正真是「碼到用時方恨少」
===========================================
...
....
....
{
xtype: 'filefield',
anchor: '100%',
//colspan: 3,
width: 298,
name: 'image',
readOnly:true,
listeners: {
change: {
fn: me.onFilefieldChange,
scope: me
}
}
}
......
....
....
onFilefieldChange: function (filefield, value, eOpts) {
var me = this;
var file = filefield.fileInputEl.dom.files[0];
var reader = new FileReader();
reader.onload = function (e) {
me.setPanelImg(e.target.result);
}
reader.readAsDataURL(file);
},
setPanelImg: function (imgUrl) {
var me=this;
var pnlContainImgPnl =me.down('#pnlContainImage');
pnlContainImgPnl.removeAll();
var pnl4Img = Ext.create('Ext.panel.Panel',
{
autoScroll: true,
html: '<img src="'+imgUrl+'"/>',
});
pnlContainImgPnl.add(pnl4Img);
pnlContainImgPnl.updateLayout();
}
===========================================
就將啦
2018年5月23日 星期三
2018年5月21日 星期一
如何把参數帶進 Task之中
example:
======================
int i=0;
for (;i<10;i++) {
tasks.Add(Task.Run(() => {
Console.WriteLine("i="+i);
}));
}
Task t = Task.WhenAll(tasks.ToArray());
t.Wait();
==========================
上例,task的run是在t.Wait時才呼叫的
此時 i已經是10,而不是各別的0....10
要怎麼把i用參數的方式帶進task呢?
這時要把Task.Run....改一下,才可以帶参數
=========================
int i = 0;
for (; i<files.Count; i+=100) {
tasks.Add(Task.Factory.StartNew((Object obj) =>{
var data = (dynamic)obj;
int i2 = (int)data.iX;
Console.WriteLine("i="+i2);
}, new { iX = i}));//{可以串很多個参數,x=i,y=5,z=7.........)
}
======================
int i=0;
for (;i<10;i++) {
tasks.Add(Task.Run(() => {
Console.WriteLine("i="+i);
}));
}
Task t = Task.WhenAll(tasks.ToArray());
t.Wait();
==========================
上例,task的run是在t.Wait時才呼叫的
此時 i已經是10,而不是各別的0....10
要怎麼把i用參數的方式帶進task呢?
這時要把Task.Run....改一下,才可以帶参數
=========================
int i = 0;
for (; i<files.Count; i+=100) {
tasks.Add(Task.Factory.StartNew((Object obj) =>{
var data = (dynamic)obj;
int i2 = (int)data.iX;
Console.WriteLine("i="+i2);
}, new { iX = i}));//{可以串很多個参數,x=i,y=5,z=7.........)
}
=========================
這樣外面的變數就可以傳入了
更詳細的介紹請參考這裡
訂閱:
文章 (Atom)