C#教程 /article.asp?typeid=32 C#教程 rss zh-cn Copyright 2000-2008 www.gaoqian.com /398825.html<![CDATA[C#编程实用技巧:轻松实现对文件的操作]]>www.gaoqian.comC#教程2008-6-5 

和Java一样,C#提供的类库能够轻松实现对文件的操作。下面就给出代码示例,.....点击浏览详细内容]]>/398824.html<![CDATA[.Net(C#)开发漫谈:关于变量的命名和属性]]>www.gaoqian.comC#教程2008-6-5 

static readonly与const的变量,作用是一样的,无论访问修饰.....点击浏览详细内容]]>/346842.html<![CDATA[C#3.0新特性系列:隐含类型var]]>www.gaoqian.comC#教程2007-8-12  一.神奇的var

  在C#3.0中增加了一个变量声明var,这个声明和JavaScript 的 var类似,但也有不同。

  1. 相同点,它可以用var.....点击浏览详细内容]]>/345322.html<![CDATA[C#开发和使用中的23个技巧]]>www.gaoqian.comC#教程2007-6-13  1.怎样定制VC#DataGrid列标题?

  DataGridTableStyle dgts = new DataGridTableStyle();

 .....点击浏览详细内容]]>/345190.html<![CDATA[Excel2007单元格及内容的合并、拆分]]>www.gaoqian.comC#教程2007-5-31  Excel 2007的合并与拆分操作包括对单元格与单元格内容的合并与拆分。

  合并单元格或拆分合并的单元格

  当您合并两个或多个相邻的水平或垂直单元格时.....点击浏览详细内容]]>/344716.html<![CDATA[C#基础概念二十五问]]>www.gaoqian.comC#教程2007-4-5    当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题:

.....点击浏览详细内容]]>
/343918.html<![CDATA[挑战C#学习的最快速度]]>www.gaoqian.comC#教程2007-1-24小序:
最近,应邀为朋友公司新招聘来的新员工进行C#培训,由于项目要人相当紧,可以用于培训的时间不是很多——大概只有2到3周——而且要求员工能够跟着老员工上手写Code。新员工完全是大学.....点击浏览详细内容]]>
/343889.html<![CDATA[Photoshop怎样精确校正严重偏色照片]]>www.gaoqian.comC#教程2007-1-22


www.gaoqian.comC#教程2006-12-211. 避免将多个类放在一个文件里面。

2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。

3. 一.....点击浏览详细内容]]>/343377.html<![CDATA[深入理解C#3.0的五项主要改进]]>www.gaoqian.comC#教程2006-12-8  1.隐型局部变量

  C# 3.0引入了一个叫做“var”的新关键字。这个关键字允许开发者建立一个变量,但不必明确它的类型。例如,用var说明一个字符串,就像这样:点击浏览详细内容]]>/340845.html<![CDATA[C#的多线程机制初探(4)]]>www.gaoqian.comC#教程2006-10-7expression代表你希望跟踪的对象,通常是对象引用。一般地,如果你想保护一个类的实例,你可以使用this;如果你希望保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用类名就可以.....点击浏览详细内容]]>/340844.html<![CDATA[C#的多线程机制初探(3)]]>www.gaoqian.comC#教程2006-10-7在这里我们要注意的是其它线程都是依附于Main()函数所在的线程的,Main()函数是C#程序的入口,起始线程可以称之为主线程,如果所有的前台线程都停止了,那么主线程可以终止,而所有的后台线程.....点击浏览详细内容]]>/340843.html<![CDATA[C#的多线程机制初探(2)]]>www.gaoqian.comC#教程2006-10-7下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。线程入口使程序知道该让这个线程干什么事,在C#中,线程入口是通过ThreadStart代理(delegate).....点击浏览详细内容]]>/340842.html<![CDATA[C#的多线程机制初探(1)]]>www.gaoqian.comC#教程2006-10-7注:本文中出现的代码均在.net Framework RC3环境中运行通过

一.多线程的概念

Windows是一个多任务的系统,如果你使用的是windo.....点击浏览详细内容]]>/340726.html<![CDATA[C#中接口(interface)的理解]]>www.gaoqian.comC#教程2006-9-25C#中的接口
1.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因2.正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体如何实.....点击浏览详细内容]]>
/340277.html<![CDATA[DotNet(C#)学习-你学到什么程度!]]>www.gaoqian.comC#教程2006-8-17引言:DotNet(C#)框架庞大,知识繁多,你学到啥程度了?
以下是我认为必须掌握的基本知识(无论你用DotNet进行哪方面的开发),你都掌握了吗?
(不完整,陆续更新中)点击浏览详细内容]]>
/340040.html<![CDATA[C#2.0套接字编程实例初探]]>www.gaoqian.comC#教程2006-7-20  首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上.....点击浏览详细内容]]>/339936.html<![CDATA[Word文档中快速插入分隔线的技巧]]>www.gaoqian.comC#教程2006-7-6  有时我们在Word文档中需要添加一条分隔线来区分不同的内容,绘制分隔线最普通的方法是通过绘图工具栏中的直线工具来画。

  其实,有一个更简单的办法可以很方便的绘制一条分隔线.....点击浏览详细内容]]>/339697.html<![CDATA[C#4.0语言将出现重大改变,带来一段CodePreview]]>www.gaoqian.comC#教程2006-6-11虽然现在C# 2.0还没有普及
虽然现在C# 3.0还抱着琵琶 : )
但是C# 4.0已经在研制中了~~

在微软的研究院里,C# 4.0的雏形已经出现了,并且与之.....点击浏览详细内容]]>/339696.html<![CDATA[C#3.0新特性初步研究Part6:使用查询表达式]]>www.gaoqian.comC#教程2006-6-11查询表达式(Query Expression)
大家都应该对SQL语句不陌生吧,在C# 2.0之前,嵌入到代码中的SQL就是下面这个样子:
1public void T.....点击浏览详细内容]]>
/339695.html<![CDATA[C#3.0新特性初步研究Part5:匿名类型]]>www.gaoqian.comC#教程2006-6-11匿名类型(Anonymouse Type)——这年头什么多系都匿名了 : )
在初始化的时候根据初始化列表自动产生类型的一种机制。

典型的代码:
1class Pr.....点击浏览详细内容]]>/339694.html<![CDATA[C#3.0新特性初步研究Part4:使用集合类型初始化器]]>www.gaoqian.comC#教程2006-6-11集合类型初始化器(Collection Initializers)

想看一段“奇怪”的代码:
1class Program
2 &.....点击浏览详细内容]]>/339693.html<![CDATA[C#3.0新特性初步研究Part3:使用拉姆达表达式]]>www.gaoqian.comC#教程2006-6-11拉姆达表达式(Lambda Expression)
可以算是一种匿名方法的实现吧。

在C# 2.0中引入了匿名方法的概念,我们可以写下如下代码:
1cl.....点击浏览详细内容]]>/339692.html<![CDATA[C#3.0新特性初步研究Part2:使用扩展方法]]>www.gaoqian.comC#教程2006-6-11扩展方法(Extension Method)
可以为已有的类型添加新的方法定义和实现,比如int类型目前没有一个名叫xxxyyy()的方法,
那么通过使用扩展方法,我们可以为int.....点击浏览详细内容]]>
/339691.html<![CDATA[C#3.0新特性初步研究Part1:使用隐含类型的本地变量]]>www.gaoqian.comC#教程2006-6-11C# 3.0给我们带来了很多新特性,其中增加了很多“动态”内容,
让我们使用起来更加Sharp!

我在这里简单的介绍一下C# 3.0规范中的一些“新鲜”内容,小弟才疏学浅.....点击浏览详细内容]]>/339312.html<![CDATA[c#泛型学习(二)]]>www.gaoqian.comC#教程2006-5-121.泛型和泛型强制转换

1using System;
2using System.Collections.Generic;
3u.....点击浏览详细内容]]>/339311.html<![CDATA[c#2.0泛型学习(一)]]>www.gaoqian.comC#教程2006-5-12根据微软的视频教程" 343889.html" >点击浏览详细内容]]>/343529.html<![CDATA[C#编码好习惯]]>www.gaoqian.comC#教程2006-12-211. 避免将多个类放在一个文件里面。

2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。

3. 一.....点击浏览详细内容]]>/343377.html<![CDATA[深入理解C#3.0的五项主要改进]]>www.gaoqian.comC#教程2006-12-8  1.隐型局部变量

  C# 3.0引入了一个叫做“var”的新关键字。这个关键字允许开发者建立一个变量,但不必明确它的类型。例如,用var说明一个字符串,就像这样:点击浏览详细内容]]>/340845.html<![CDATA[C#的多线程机制初探(4)]]>www.gaoqian.comC#教程2006-10-7expression代表你希望跟踪的对象,通常是对象引用。一般地,如果你想保护一个类的实例,你可以使用this;如果你希望保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用类名就可以.....点击浏览详细内容]]>/340844.html<![CDATA[C#的多线程机制初探(3)]]>www.gaoqian.comC#教程2006-10-7在这里我们要注意的是其它线程都是依附于Main()函数所在的线程的,Main()函数是C#程序的入口,起始线程可以称之为主线程,如果所有的前台线程都停止了,那么主线程可以终止,而所有的后台线程.....点击浏览详细内容]]>/340843.html<![CDATA[C#的多线程机制初探(2)]]>www.gaoqian.comC#教程2006-10-7下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。线程入口使程序知道该让这个线程干什么事,在C#中,线程入口是通过ThreadStart代理(delegate).....点击浏览详细内容]]>/340842.html<![CDATA[C#的多线程机制初探(1)]]>www.gaoqian.comC#教程2006-10-7注:本文中出现的代码均在.net Framework RC3环境中运行通过

一.多线程的概念

Windows是一个多任务的系统,如果你使用的是windo.....点击浏览详细内容]]>/340726.html<![CDATA[C#中接口(interface)的理解]]>www.gaoqian.comC#教程2006-9-25C#中的接口
1.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因2.正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体如何实.....点击浏览详细内容]]>
/340277.html<![CDATA[DotNet(C#)学习-你学到什么程度!]]>www.gaoqian.comC#教程2006-8-17引言:DotNet(C#)框架庞大,知识繁多,你学到啥程度了?
以下是我认为必须掌握的基本知识(无论你用DotNet进行哪方面的开发),你都掌握了吗?
(不完整,陆续更新中)点击浏览详细内容]]>
/340040.html<![CDATA[C#2.0套接字编程实例初探]]>www.gaoqian.comC#教程2006-7-20  首先从原理上解释一下采用Socket接口的网络通讯,这里以最常用的C/S模式作为范例,首先,服务端有一个进程(或多个进程)在指定的端口等待客户来连接,服务程序等待客户的连接信息,一旦连接上.....点击浏览详细内容]]>/339936.html<![CDATA[Word文档中快速插入分隔线的技巧]]>www.gaoqian.comC#教程2006-7-6  有时我们在Word文档中需要添加一条分隔线来区分不同的内容,绘制分隔线最普通的方法是通过绘图工具栏中的直线工具来画。

  其实,有一个更简单的办法可以很方便的绘制一条分隔线.....点击浏览详细内容]]>/339697.html<![CDATA[C#4.0语言将出现重大改变,带来一段CodePreview]]>www.gaoqian.comC#教程2006-6-11虽然现在C# 2.0还没有普及
虽然现在C# 3.0还抱着琵琶 : )
但是C# 4.0已经在研制中了~~

在微软的研究院里,C# 4.0的雏形已经出现了,并且与之.....点击浏览详细内容]]>/339696.html<![CDATA[C#3.0新特性初步研究Part6:使用查询表达式]]>www.gaoqian.comC#教程2006-6-11查询表达式(Query Expression)
大家都应该对SQL语句不陌生吧,在C# 2.0之前,嵌入到代码中的SQL就是下面这个样子:
1public void T.....点击浏览详细内容]]>
/339695.html<![CDATA[C#3.0新特性初步研究Part5:匿名类型]]>www.gaoqian.comC#教程2006-6-11匿名类型(Anonymouse Type)——这年头什么多系都匿名了 : )
在初始化的时候根据初始化列表自动产生类型的一种机制。

典型的代码:
1class Pr.....点击浏览详细内容]]>/339694.html<![CDATA[C#3.0新特性初步研究Part4:使用集合类型初始化器]]>www.gaoqian.comC#教程2006-6-11集合类型初始化器(Collection Initializers)

想看一段“奇怪”的代码:
1class Program
2 &.....点击浏览详细内容]]>/339693.html<![CDATA[C#3.0新特性初步研究Part3:使用拉姆达表达式]]>www.gaoqian.comC#教程2006-6-11拉姆达表达式(Lambda Expression)
可以算是一种匿名方法的实现吧。

在C# 2.0中引入了匿名方法的概念,我们可以写下如下代码:
1cl.....点击浏览详细内容]]>/339692.html<![CDATA[C#3.0新特性初步研究Part2:使用扩展方法]]>www.gaoqian.comC#教程2006-6-11扩展方法(Extension Method)
可以为已有的类型添加新的方法定义和实现,比如int类型目前没有一个名叫xxxyyy()的方法,
那么通过使用扩展方法,我们可以为int.....点击浏览详细内容]]>
/339691.html<![CDATA[C#3.0新特性初步研究Part1:使用隐含类型的本地变量]]>www.gaoqian.comC#教程2006-6-11C# 3.0给我们带来了很多新特性,其中增加了很多“动态”内容,
让我们使用起来更加Sharp!

我在这里简单的介绍一下C# 3.0规范中的一些“新鲜”内容,小弟才疏学浅.....点击浏览详细内容]]>/339312.html<![CDATA[c#泛型学习(二)]]>www.gaoqian.comC#教程2006-5-121.泛型和泛型强制转换

1using System;
2using System.Collections.Generic;
3u.....点击浏览详细内容]]>/339311.html<![CDATA[c#2.0泛型学习(一)]]>www.gaoqian.comC#教程2006-5-12根据微软的视频教程"跟我一起学Visual Studio 2005C#语法篇"来学,因为里面有比较多的代码示例,学起来比较容易好理解

1.未使用泛型的Stack类

<.....点击浏览详细内容]]>
/339230.html<![CDATA[C#编码规范和编程好习惯]]>www.gaoqian.comC#教程2006-4-29  谁都会写代码!几个月的编程经验可以让你写出“可运行应用程序”。让它可运行容易,但是以最有效率的方式编码就需要下更多的功夫!

  要知道,大多数程序员在写“可运行代码,而不.....点击浏览详细内容]]>/339195.html<![CDATA[c#时间增加并对比做法]]>www.gaoqian.comC#教程2006-4-27int jg=72;//设置一个增加的时间
   DateTime dt=Convert.ToDateTime("2006-4-23 12:22:05");// 设置.....点击浏览详细内容]]>
/339188.html<![CDATA[在c#中执行sql语句时传递参数的小经验]]>www.gaoqian.comC#教程2006-4-26c#中与数据库打交道,免不了要用到各种sql语句,而给sql语句传参数也是不可避免的。以下是我在此方面上的一点总结(高手勿见笑):
 1> 直接写入法:
 .....点击浏览详细内容]]>
/339104.html<![CDATA[C#3.0新特性体验之Lambda表达式]]>www.gaoqian.comC#教程2006-4-18点击浏览详细内容]]>/339086.html<![CDATA[C#基础全接触]]>www.gaoqian.comC#教程2006-4-17引用类型是类型安全的指针,它们的内存是分配在堆(保存指针地址)上的。
String、数组、类、接口和委托都是引用类型。
强制类型转换与as类型转换的区别:当类型转换非法时,强制类型.....点击浏览详细内容]]>
/338596.html<![CDATA[C#中的类型转换]]>www.gaoqian.comC#教程2006-4-7C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,在学习中整理了一份在这里与大家分享,很适用哦!

其内容涉及 C# 的装箱/拆箱/别名、数值类型间相.....点击浏览详细内容]]>/337821.html<![CDATA[C#Namespace]]>www.gaoqian.comC#教程2006-3-17在C#程序中,每提及一个"名称",编译器就要对这个"名称"进行"决议(resolve)";简言之,就要让这个"名称"可见(Visible)。举例说明一下:

Console.Wr.....点击浏览详细内容]]>/337793.html<![CDATA[漫谈C#编程中的多态与new关键字]]>www.gaoqian.comC#教程2006-3-15  1. 你通常怎样用多态?

  假设我有一个类,里面有一个 PrintStatus 方法,用于打印实例的当前状态,我希望该类的派生类都带有一个 PrintStatus 方法.....点击浏览详细内容]]>/337784.html<![CDATA[C#基础—关于类]]>www.gaoqian.comC#教程2006-3-14点击浏览详细内容]]>/337783.html<![CDATA[C#的四个基本技巧]]>www.gaoqian.comC#教程2006-3-141.如果可能尽量使用接口来编程
  .NET框架包括类和接口,在编写程序的时候,你可能知道正在用.NET的哪个类。然而,在这种情况下如果你用.NET支持的接口而不是它的类来编程时,代码会.....点击浏览详细内容]]>
/337782.html<![CDATA[C#和VB.net语法对比图]]>www.gaoqian.comC#教程2006-3-14C#和VB.net的语法相差还是比较大的. 可能你会C#,可能你会VB.

将它们俩放在一起对比一下你就会很快读懂,并掌握另一门语言.

相信下面这张图会对你帮助很.....点击浏览详细内容]]>/337723.html<![CDATA[C#中结构与类的区别]]>www.gaoqian.comC#教程2006-3-7目录
类与结构的实例比较
类与结构的差别
如何选择结构还是类

一.类与结构的示例比较:
结构示例:
public struct Pers.....点击浏览详细内容]]>/336580.html<![CDATA[关于C#的问答]]>www.gaoqian.comC#教程2006-2-26Q:C#支持多继承吗?
A:不
Q:protected class访问级别如何?
A:允许本类和子类访问
Q:private class变量可以被继承吗?
A:行.....点击浏览详细内容]]>
/303467.html<![CDATA[C#2.0中泛型编程初级入门教程]]>www.gaoqian.comC#教程2006-1-31  在2005年底微软公司正式发布了C# 2.0,与C# 1.x相比,新版本增加了很多新特性,其中最重要的是对泛型的支持。通过泛型,我们可以定义类型安全的数据结构,而无需使用实际的数据类型。这.....点击浏览详细内容]]>/303436.html<![CDATA[C#2.0与泛型]]>www.gaoqian.comC#教程2006-1-26    在2005年底微软公司正式发布了C# 2.0,与C# 1.x相比,新版本增加了很多新特性,其中最重要的是对泛型的支持。通过泛型,我们可以定义类型安全的数据.....点击浏览详细内容]]>/302501.html<![CDATA[C#3.0语言详解之基本的语言增强]]>www.gaoqian.comC#教程2005-10-22  Linq项目简介和开发环境的搭建

  9月份,微软推出了一项名为“Linq项目”的新技术,用于在.NET语言中集成数据查询的功能。您可以从点击浏览详细内容]]>/301790.html<![CDATA[请教如何改善C#中socket通信机客户端程序的健壮性]]>www.gaoqian.comC#教程2005-8-7我是做Socket的新手,最近做了一个Socket客户端程序,连接Server的时候,如果server存在,并且允许连接的话,程序无错,正常执行;但是如果Server不存在,或者拒绝连接,程序.....点击浏览详细内容]]>/301789.html<![CDATA[C#中的域(field)和属性(property)]]>www.gaoqian.comC#教程2005-8-7访问一个类的成员变量可以有两种方式:域、属性。域作为public类型的成员变量访问,而属性不能直接进行访问,必须通过访问器(accessors)进行。

.....点击浏览详细内容]]>
/301788.html<![CDATA[C#中方法参数的四种类型]]>www.gaoqian.comC#教程2005-8-7C#中方法的参数有四种类型:

-值参数:不含任何修饰符。方法中的形参是实参的一份拷贝,形参的改变不会影响到内存中实参的的值,实参是安全的。

-引用参数:以ref.....点击浏览详细内容]]>/301787.html<![CDATA[switch语句的“不准遍历”]]>www.gaoqian.comC#教程2005-8-7C和C++语言允许switch语句中case标签后不出现break语句从而可以继续执行下面case后的语句。但是这往往由于程序员忘记写break语句而成为一个难以发现的漏洞,所以C#不允许这样.....点击浏览详细内容]]>/301786.html<![CDATA[C#中的checked、unchecked操作符]]>www.gaoqian.comC#教程2005-8-7checked和unchecked操作符用于整型算术运算时控制当前环境中的溢出检查。下列运算参与了checked和unchecked检查(操作数均为整数):

1) .....点击浏览详细内容]]>/301785.html<![CDATA[C#中的“装箱”(boxing)与“拆箱”(unboxing)]]>www.gaoqian.comC#教程2005-8-7装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(.....点击浏览详细内容]]>' javascript:if(confirm('/http/://www.gaoqian.com/302501.html \n\nļδ Teleport Pro أΪ - ޷ҵļ \n\nҪӷ?'))window.location='/http/://www.gaoqian.com/302501.html'" >点击浏览详细内容]]>/301791.html<![CDATA[datagridcolumnstyle重写,实现插入不同控件列体验]]>www.gaoqian.comC#教程2005-8-7最近谈论较多的就是Datagrid,特别新手最是郁闷为何没有更好的控件,来满足自已的需求。
其实通过重写可以达到很多不同的功能体验,在这里我们仅仅讨论关于datagridcolumnst.....点击浏览详细内容]]>
/301790.html<![CDATA[请教如何改善C#中socket通信机客户端程序的健壮性]]>www.gaoqian.comC#教程2005-8-7我是做Socket的新手,最近做了一个Socket客户端程序,连接Server的时候,如果server存在,并且允许连接的话,程序无错,正常执行;但是如果Server不存在,或者拒绝连接,程序.....点击浏览详细内容]]>/301789.html<![CDATA[C#中的域(field)和属性(property)]]>www.gaoqian.comC#教程2005-8-7访问一个类的成员变量可以有两种方式:域、属性。域作为public类型的成员变量访问,而属性不能直接进行访问,必须通过访问器(accessors)进行。

.....点击浏览详细内容]]>
/301788.html<![CDATA[C#中方法参数的四种类型]]>www.gaoqian.comC#教程2005-8-7C#中方法的参数有四种类型:

-值参数:不含任何修饰符。方法中的形参是实参的一份拷贝,形参的改变不会影响到内存中实参的的值,实参是安全的。

-引用参数:以ref.....点击浏览详细内容]]>/301787.html<![CDATA[switch语句的“不准遍历”]]>www.gaoqian.comC#教程2005-8-7C和C++语言允许switch语句中case标签后不出现break语句从而可以继续执行下面case后的语句。但是这往往由于程序员忘记写break语句而成为一个难以发现的漏洞,所以C#不允许这样.....点击浏览详细内容]]>/301786.html<![CDATA[C#中的checked、unchecked操作符]]>www.gaoqian.comC#教程2005-8-7checked和unchecked操作符用于整型算术运算时控制当前环境中的溢出检查。下列运算参与了checked和unchecked检查(操作数均为整数):

1) .....点击浏览详细内容]]>/301785.html<![CDATA[C#中的“装箱”(boxing)与“拆箱”(unboxing)]]>www.gaoqian.comC#教程2005-8-7装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(.....点击浏览详细内容]]>"