c# 托管是什么意思

如题

  1、是指托管代码,托管代码(Managed Code)实际上就是中间语言(IL)代码。
  2、代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。
  3、程序集(Assembly)的文件负责封装中间语言,程序集中包含了描述所创建的方法、类以及属性的所有元数据。
  4、托管代码在公共语言运行库(CLR)中运行。这个运行库给运行代码提供了多种服务,通常来说,公共语言运行库可以加载和验证程序集,并以此来保证中间语言的正确性。
  
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-12-12
比如说吧,我正做的一个程序,监听我机器上一个端口的Socket通讯,收到信息后更新界面的Treeview,因为监听线程属于主线程的子线程,无法更新主线程的资源,只好委托给另一个线程去做。
private delegate void delChangeUserTree(object Sender,SealedSocket.SealedSocket.ReceiveArgs e,bool isPlus);

private void changeUserTree(object Sender, SealedSocket.SealedSocket.ReceiveArgs e,bool isPlus)
{
string userID=TransfersControl.BytesToStructTF(e.bytes).strValues[0];
string email=TransfersControl.BytesToStructTF(e.bytes).strValues[1];
string question=TransfersControl.BytesToStructTF(e.bytes).strValues[2];
//从用户列表TreeView中删除一个用户
for(int i=0;i<this.userTitleNode.Nodes.Count;i++)
{
if(this.userTitleNode.Nodes[i].Text==userID)
{
this.userTitleNode.Nodes[i].Nodes.Clear();
this.userTitleNode.Nodes.Remove(this.userTitleNode.Nodes[i]);
break;
}

}
}
调用的时候
delChangeUserTree myDelegate=new delChangeUserTree(this.changeUserTree);
object[] paramater=new object[2]; //给委托添加参数
this.invoke(myDelegate,paramater); //执行委托

参考资料:http://bbs.topsage.com/index_2.html

本回答被提问者和网友采纳
第2个回答  2007-12-12
托管就是不用你来处理
例如内存回收
他自己检测哪些应该回收
相似回答