惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
P
Proofpoint News Feed
D
DataBreaches.Net
C
Check Point Blog
L
LangChain Blog
量子位
美团技术团队
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
腾讯CDC
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale

博客园 - 瑞德船长

Visual C#如何使用Active X组件 Ext.form.ComboBox setValue()初始值设定问题 Ext.tree.TreePanel 在IE下不正常加载 - 瑞德船长 - 博客园 Windows mobile 开发入门—控件开发(漂亮的进度条) Windows mobile 开发入门—GPS程序的开发 Windows mobile 开发入门—网络程序的开发 Windows mobile 开发入门—开发绚丽滑动效果 Windows mobile 开发入门—第一个程序"hello world",链接调试,模拟器的使用 Windows mobile 开发入门—环境搭建 短信PDU编码解码(转) 发布一个小工具:建立站点和域名绑定(附代码) 实用JavaScript脚本代码大全 - 瑞德船长 - 博客园 动态创建DataGrid 列排序功能的实现 多表头 Active report-在Web 上使用 active report Mediar.framework--Search 功能 微软RC2CryptoServiceProvider 加密的疏忽 Mediar.Framework—业务的实现3 (控制UI控件的可视和可编辑属性、验证、以及一对一,一对多,多对多关系) Mediar.Framework—业务的实现2(UI 与对象实体的通信)
委托(delegate)的异步调用
瑞德船长 · 2007-12-21 · via 博客园 - 瑞德船长

 private void ButAbout_Click(object sender, EventArgs e)
        
{
            TestInvoke();
        }


        
public void TestInvoke()
        
{

            System.Func
<stringstring> convertMethod = UppercaseString;
          
           
            convertMethod.BeginInvoke(name, 
new AsyncCallback(sendMessageHandleBack), convertMethod);

         
        }

        
string name = "Dakota";
        
void sendMessageHandleBack(IAsyncResult ar)
        
{
            System.Func
<stringstring> dlgt = (System.Func<stringstring>)ar.AsyncState;

            
string ret = dlgt.EndInvoke(ar);

          
// int ret= dlgt.EndInvoke<string,int>(sendMessageHandleBack);

            NewMethod(ret);


        }


       
private delegate void    NewMethodHandle(string ret);
        
private void NewMethod(string ret)
        
{
            
this.BeginInvoke(new NewMethodHandle(NewMethod2), new object[] { ret });
        
        }


        
private void NewMethod2(string ret)
        
{         
            
this.textBox1.Text = ret;
        }


        
private static string UppercaseString(string inputString)
        
{
            Thread.Sleep(
4000);
            
return inputString;
        }