代码改变世界

随笔分类 - C#

使用 MVVMLight 消息通知

2014-07-16 16:01 by Andrew.Wangxu, 1755 阅读, 收藏, 编辑
摘要:在文章的其实我们就说了,MVVMLight的精华就是消息通知机制,设计的非常不错。这个东西在MVVMLight可以说是用的及其的频繁,当 ViewModel请求View要有些改变的时候(比如弹个窗体)那么你在ViewModel里面编写弹窗的代码?那也就违背了MVVM的设计模式 啦,MVVMLight的消息通知可以实现互相调用代码而不耦合! 阅读全文

使用 MVVMLight 命令绑定

2014-07-14 10:53 by Andrew.Wangxu, 206 阅读, 收藏, 编辑
摘要:首先,如果您希望了解更多的MVVMLight技术或希望有顺序的学习MVVMLight,请查阅目录《MVVMLight 设计模式系列使用文章》。 继上一篇文章的项目,我们实现了数据绑定到界面中。这篇文章我们将实现把命令绑定到按钮上,在XAML中的Button之类的都会有个Command属性可以让我们来绑定命令使用。 首先我们要实现的目标是,在界面中可以点击按钮添加数据,但是最多能添加5条数据,最少保证有1条数据。也就是两个按钮哈(增加数据/删除数据)。界面如下: 阅读全文

使用 MVVMLight 绑定数据

2014-07-14 10:52 by Andrew.Wangxu, 874 阅读, 收藏, 编辑
摘要:如果你还不知道如何在VS中加入MVVMLight的引用,那么建议你先翻阅这篇文章:在VS中安装/使用 MVVMLight 这篇文章主要是介绍如何使用MVVMLight来绑定数据到界面中(View),以此来了解MVVMLight的一些基础的类的用法。 文章底部会提供本示例的源码下载。 阅读全文

在VS中安装/使用 MVVMLight

2014-07-14 10:51 by Andrew.Wangxu, 673 阅读, 收藏, 编辑
摘要:一般来说,我喜欢使用NuGet来获取这些东西,比如Newtonsoft.Json、netlog4、MVVMLight 之类的东西。至于NuGet的使用,以后再说吧。为了直接进入正题,我们这里直接使用VS中的“扩展和更新”来安装MVVMLight组件。 我使用的是VS2013,其他版本的操作也基本上一样。接下来我们将安装MVVMLight到VS中。 安装 MVVMLight Toolkit 为什么说是 MVVMLight Toolkit ?实际上我们一般安装的都是 MVVMLight Toolkit ,这个里面包含了工具就是在VS新建工程的时候你会看见有MVVMLight的模板(而使用 NuGet 来直接引用MVVMLight 则没有这些模板之类的东西,比较干净。),其实两个都是同一个东西,只是一个有工程模板,另一个则是仅仅对MVVMLight相关文件的引用。 阅读全文

关于 MVVMLight 设计模式系列

2014-07-14 10:49 by Andrew.Wangxu, 467 阅读, 收藏, 编辑
摘要:MVVM设计模式你可以在WPF、Silverlight、Windows Phone开发中使用,我想至今已经有非常非常多的朋友正在使用MVVM设计模式,尤其是MVVMLight 。 本系列文章以WPF举例,似乎在百度上如果你要查找MVVM相关的某个知识点,难点,给我的感觉资料是比较少的。本篇文章是一个目录导航,我会在最 近一段时间把相关的MVVMLight的知识与技巧发布在我的博客中,并在本文中以目录的方式呈现。希望能为业界贡献一份微薄之力,帮助到正在看此文的 你。 有不足之处还望各位Coder们指导纠正,同时欢迎补充 or 投稿MVVMlight系列的文章。 阅读全文

Visual Studio使用技巧,创建自己的代码片段

2013-12-02 14:11 by Andrew.Wangxu, 2364 阅读, 收藏, 编辑
摘要:1.代码片段的使用示例 在编写代码中常会使用代码片段来提高我们的编写代码的效率,如:在Visual Studio中编写一个 for(int i = 0; i < length;i++) { } 阅读全文

List 和 ObservableCollection的区别

2013-12-02 13:54 by Andrew.Wangxu, 574 阅读, 收藏, 编辑
摘要:在WPF中绑定一个集合的时候,比如:DataGrid.ItemsSource = new List(); 这样的操作,会存在当数据行新增或者删除的时候不会得到及时的通知来刷新界面,而需要重新绑定DataGrid.ItemsSource = null; 再次重新绑定来实现。这样的工作效率比较低,另外使用起来也比较麻烦(在MVVM设计模式中)比较明显。 阅读全文

C# DataTable 转换为 实体类对象方法

2013-04-18 09:35 by Andrew.Wangxu, 610 阅读, 收藏, 编辑
摘要:如果你的实体类与数据库表是完全一致的。 假设:{Code} //对应数据库表: //User //字段:ID、Name 那么你也许需要编写将DataTable 转换为实体对象的方法,便利DataTable.Rows 获得并填充。。 下面是我写的一个通用方法,分享+记录,便于日后直接Copy ~ 阅读全文

C# 写了个获取本机外网IP发送邮件的服务- 分享。

2012-09-18 12:03 by Andrew.Wangxu, 1543 阅读, 收藏, 编辑
摘要:介绍:获取当前计算机外网IP地址,若IP地址有更变则及时发送到指定的邮箱列表中进行通知。核心部分代码: private void GetIp() { string OriginalIp = string.Empty; while (true) { string myIp = string.Empty; myIp = WebHelper.GetWebContent(&quot;http://www.3322.org/dyndns/getip&quot;); ... 阅读全文

在DOS使用SVN之执行命令整理(TortoiseProc.exe)

2012-08-21 10:48 by Andrew.Wangxu, 10301 阅读, 收藏, 编辑
摘要:注:以下整理文本来源于官方的帮助文档,由于个人英语水准太那个啥。。。。大部分借助了谷歌翻译。 TortoiseSVN因为所有的命令都是通过命令行参数控制,你可以自动批处理脚本或从其它程序(例如你喜欢的文本编辑器)启动特定的命令和对话框。TortoiseSVN命令TortoiseSVN的GUI程序被称为TortoiseProc.exe。所有的命令都指定参数/command:ABCD,ABCD是必须的命令名。大多数这些命令需要至少一个路径作为参数,如/path:“一些路径”。由于一些命令需要一个目标路径的列表(例如提交一些特定的文件)/path参数可以接收多个路径,由一个*字符分隔。Tortoi. 阅读全文

C# 执行DOS命令方法记录

2012-08-20 23:23 by Andrew.Wangxu, 210 阅读, 收藏, 编辑
摘要:/// /// 执行DOS命令,返回DOS命令的输出 /// /// dos命令 /// 等待命令执行的时间(单位:毫秒),如果设定为0,则无限等待 /// 返回DOS命令的输出 public static string ExecuteDOS(string dosCommand, int seconds) { string output = &quot;&quot;; //输出字符串 if (dosCommand != null &amp;&amp; dosC... 阅读全文

C# System.IO.FileStream 读取被其他程序打开的文件提示“文件正由另一进程使用,因此该进程无法访问该文件。”

2012-08-15 11:00 by Andrew.Wangxu, 285 阅读, 收藏, 编辑
摘要:文件正由另一进程使用,因此该进程无法访问该文件原来是构造System.IO.FileStream时,使用的方法有问题一开始是直接使用System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open)这个方法打开文件的时候是以只读共享的方式打开的,但若此文件已被一个拥有写权限的进程打开的话,就无法读取了,因此需要使用System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open,Syste 阅读全文

C# Dev控件中的 PropertyGridControl 属性控件的基本用法以及排序

2012-08-08 14:24 by Andrew.Wangxu, 3238 阅读, 收藏, 编辑
摘要:在这个例子中将实现让该属性控件实现排序按钮。 效果如图: 首先2个按钮是 CheckButton 控件。 然后是一个:PropertyGridControl 控件 为了美观一点,将2个CheckButton控件的AllowFocus属性设置为 False 阅读全文

C# Dev控件中的 GridControl 双击行事件

2012-07-05 13:14 by Andrew.Wangxu, 484 阅读, 收藏, 编辑
摘要:在GridControl中的GridView的MouseDown事件中加入如下代码: DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hInfo = gridView1.CalcHitInfo(new Point(e.X, e.Y)); if (e.Button == MouseButtons.Left &amp;&amp; e.Clicks == 2) { //判断光标是否在行范围内 if (hInfo.InRow) ... 阅读全文

C# Dev控件中的 BarManager 添加下拉列表菜单

2012-07-05 13:12 by Andrew.Wangxu, 903 阅读, 收藏, 编辑
摘要:在BarManager中加入一个barSubItem,然后单击工具栏上 新增的 barSubItem 即可添加子项。 阅读全文

C# 使用反射来实现对象的深度复制

2012-07-02 16:40 by Andrew.Wangxu, 1638 阅读, 收藏, 编辑
摘要:实现方式 通过挨个罗列的方式一次复制子对象是非常耗费人力的,如果子对象是引用类型,则还要需要考虑是否对子对象进一步深拷贝。 实际应用中,一个类如果有几十个子对象,挨个复制对于开发人员来说索然无味比较费时费力。 所以使用反射机制来实现。 阅读全文

C# 程序运行耗时测试类

2012-06-26 12:47 by Andrew.Wangxu, 223 阅读, 收藏, 编辑
摘要:主要用于精确测试一段代码的运行耗时时间。这里以秒为单位(包括小数点)。。 阅读全文

C# 绘制椭圆形

2012-06-26 10:09 by Andrew.Wangxu, 319 阅读, 收藏, 编辑
摘要:C#绘制椭圆形~DrawEllipse 阅读全文

C# 动态加载程序集

2012-06-25 16:55 by Andrew.Wangxu, 203 阅读, 收藏, 编辑
摘要:今天在反序列化时发生错误:找不到程序集XXX 以前用过其他的方法解决这个问题,追加程序集的寻址文件夹地址。 现在分享另外一种方法叫做:当程序集加载失败时~ 事件注册如下: 阅读全文

C# 通过接口IEnumerator让自己编写的对象/类,实现foreach遍历方法

2012-06-20 13:26 by Andrew.Wangxu, 305 阅读, 收藏, 编辑
摘要:简单说明: 要想自己写的类实现foreach方法,那么可以继承IEnumerator来实现。 除了实现继承接口中的方法,还要实现一个GetEnumerator()方法才行,返回值是你要遍历的对象。 如Item~ (我这里是返回Students) 直接上代码上图吧: 阅读全文

C# 关于开发控件,如何自定义属性归类

2012-06-18 10:33 by Andrew.Wangxu, 1240 阅读, 收藏, 编辑
摘要:首先介绍下属性分类结构: 绿色框:是总分类。 红色框:是子分类。 (当然子分类下面还可以包含子分类,跟Node节点一回事。) 灰色框:是子分类下面的属性. Q:如何将自己写的属性归类到指定的总分类? A:使用Category属性,例子如下: 阅读全文

C# 静态类的构造函数

2012-06-06 19:11 by Andrew.Wangxu, 632 阅读, 收藏, 编辑
摘要:简单介绍: 一个类只能有一个静态构造函数。 静态构造函数只能访问类的静态成员 静态构造函数不能传入参数 静态构造函数只会在该类第一次被使用的时候执行。 阅读全文

C# 控件开发中常用属性整理

2012-06-05 14:07 by Andrew.Wangxu, 134 阅读, 收藏, 编辑
摘要:Browsable 适用于属性和事件,指定属性或事件是否应该显示在属性浏览器中。 Category 适用于属性和事件,指定类别的名称,在该类别中将对属性或事件进行分组。当使用了类别时,组件属性和事件可以按逻辑分组显示在属性浏览器中。 Description 适用于属性和事件,定义一小块文本,该文本将在用户选择属性或事件时显示在属性浏览器底部。 阅读全文

C# 关于方法中的参数(可选参数和命名参数)

2012-05-31 10:56 by Andrew.Wangxu, 2576 阅读, 收藏, 编辑
摘要:在阅读《CLR via C#(第三版)》第191页中看到方法参数的用法,这里将书本中的内容挑选一些关键的记录下来,内容如下: 设计一个方法的参数时,可为部分或全部参数分配默认值。然后,调用这些方法的代码可以选择不指定部分实参,接受其默认值。除此之外,调用方法时,还可通过指定参数名称的方式为其传递实参。以下代码演示了可选参数和命名参数的用法: 阅读全文

C# 中的拓展方法,以StringBuilder加上IndexOf方法举例

2012-05-30 20:32 by Andrew.Wangxu, 2087 阅读, 收藏, 编辑
摘要:大家都知道StringBuilder是处理字符串的首选,我不太明白为什么StringBuilder提供的方法竟然比string类要少,挺奇怪。 废话不多说,直接图文跟着走吧。 上图先(我写好的拓展方法): 阅读全文

C#中的不同类型之间的显式与隐式转换实现

2012-05-30 16:02 by Andrew.Wangxu, 334 阅读, 收藏, 编辑
摘要:在项目中可能经常遇到不同类型之间的转换, 如 int转换为byte double转换为int。 那么这些显式或隐式转换是如何实现的呢,下面也是以User对象举例。 首先贴上来User.cs的所有属性 阅读全文

在C#中的operator重载操作符

2012-05-30 15:01 by Andrew.Wangxu, 2834 阅读, 收藏, 编辑
摘要:业务需求: 在程序中要求将两个用户的用户名和他们的持有金额的相加,如何来实现呢? 一般实现如下: User user1 = new User(); user1.Name = "张三"; user1.Money = 20; User user2 = new User(); user2.Name = "李四"; user2.Money = 15; //将两个对象相加,得到用户名和金额合计 User user3 = new User(); user3.Name = user1.Name +","+ user2.Name; user3.Money = user1.Money + user2.Money; //打印结果: //user3.Name :“张三,李四” //user3.Moeny:“35”; 试想,能不能将user3那三行代码改为: User user3 = user1 + user2; 阅读全文

关于C#的dynamic类型,简单演示及说明

2012-05-30 11:06 by Andrew.Wangxu, 2055 阅读, 收藏, 编辑
摘要:在阅读《CLR via C# (第三版)》第132页看到dynamic这个类型,感觉挺有用的。 记录下来日后查用以及跟园友们分享,内容如下: 为了方便开发人员使用反射或者与基本组件通信,C#编译器允许将一个表达式的类型标记为 dynamic。还可以将一个表达式的结果放到一个变量中,并将变量的类型标记为dynamic。然后,可以用这个 dynamic 表达式/变量调用一个成员,比如字段、属性/索引器、方法、委托以及一元/二元/转换操作符。代码用 dynamic 表达式/变量来调用一个成员时,编译器会生成特殊的 IL 代码来描述所需的操作。这种特殊的代码成为 payload(有效载荷)。在运行时,payload 代码根据当前由 dynamic 表达式/变量引用的对象的实际类型来决定具体执行的操作。 阅读全文

C# 多个(N个)ListBox之间的拖动方法

2012-05-25 11:16 by Andrew.Wangxu, 365 阅读, 收藏, 编辑
摘要:需求说明:在窗体界面中有多个ListBox要实现之间的数据拖动,下面是封装的一个方法,实现N个ListBox的数据拖放操作。 可任意拖放数据到任意的ListBox 附上截图、代码、示例项目文件: 阅读全文

在VS中折叠所有代码或展开所有代码

2012-05-24 10:59 by Andrew.Wangxu, 362 阅读, 收藏, 编辑
摘要:Ctrl-M-O 折叠所有方法Ctrl-M-L展开所有方法Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了)Ctrl-M-M 折叠或展开当前方法参考:http://www.wxzzz.com/?id=93 阅读全文

C# 设置当前程序调用的dll文件以及其他文件的寻址路径

2012-04-23 11:47 by Andrew.Wangxu, 248 阅读, 收藏, 编辑
摘要:文件: App.exe为主程序 A.dll为需要调用的bll文件 B.dll为需要调用的bll文件 一般情况下,我们的exe程序会调用一些dll。 由于项目可能较大,有很多的dll文件需要调用,并不可能将这些文件全部放在跟exe同一目录。 但是默认情况下app.exe只会在当前目录和系统库的目录寻找调用的dll 阅读全文

C# 使用反射设置某个对象的属性或读取某个对象的属性

2012-03-23 04:14 by Andrew.Wangxu, 227 阅读, 收藏, 编辑
摘要:/// /// 获取对象中的属性值 /// /// 属性名 /// 对象 /// public string GetModelValue(string FieldName, object obj) 阅读全文

C# 泛型约束List<T> (转)

2012-03-21 14:56 by Andrew.Wangxu, 2284 阅读, 收藏, 编辑
摘要:所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。 在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。 阅读全文

C# 使用反射技术实例化指定的类

2012-03-20 22:56 by Andrew.Wangxu, 987 阅读, 收藏, 编辑
摘要:有时候不确定该项目会有多少个类,是否要随着功能的增加去写无数个IF 或者Switch 来判断该执行哪一个类里面的方法? 这时候反射技术的优势就出来了,下面代码是利用反射来实例化某个类。 在我的类中,我用了2个参数 分别是int对象,和String 阅读全文

NHibernate *** is not mapped 错误解决笔记

2012-03-20 19:56 by Andrew.Wangxu, 429 阅读, 收藏, 编辑
摘要:如果确认大小写等手写没有错误的话,把.hbm.xml文件属性中的生成操作,设为嵌入式资源就可以了 阅读全文

C# DES加密解密类分享

2012-03-16 20:44 by Andrew.Wangxu, 179 阅读, 收藏, 编辑
摘要:直接上代码了。 public class DESEncrypt { //密钥 private static string key = "mykey"; /// /// DES加密 /// /// 需要加密的字符串 /// 返回已加密的字符串 public static string DesEncrypt(string encryptString) 阅读全文

C# 序列化与反序列化方法

2012-03-16 20:42 by Andrew.Wangxu, 122 阅读, 收藏, 编辑
摘要:序列化数据方法: /// /// 序列化数据 /// /// 需要序列化的对象 /// public static byte[] SerializeData(object objData) { MemoryStream ms = new MemoryStream(); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(ms, objData); ms.Close(); return ms.ToArray(); } 阅读全文

分享一份关键字高亮的代码编辑控件 FOR C#

2012-03-16 20:38 by Andrew.Wangxu, 247 阅读, 收藏, 编辑
摘要:TextEditor控件分享 设定语言方法为,控件名.SetHighlighting("C#"); 则可以让该文本编辑控件为C#语法高亮效果 阅读全文

Dev控件使用 - 使用xtraTabbedMdiManager控件制作浏览器的标签效果

2012-01-20 11:00 by Andrew.Wangxu, 666 阅读, 收藏, 编辑
摘要:1. 添加一个xtraTabbedMdiManager1控件,然后将MdiParent属性设为“无” 2. 使用如下代码即可: xtraTabbedMdiManager1.MdiParent = this; FrmMoney frmMoney = new FrmMoney(); frmMoney.MdiParent = this; frmMoney.Show();选项卡切换: xtraTabbedMdiManager1.SelectedPage = xtraTabbedMdiManager1.Pages[frmMoney];设置标签拥有关闭按钮: this.xt... 阅读全文

Dev控件使用 - 皮肤

2012-01-20 10:59 by Andrew.Wangxu, 585 阅读, 收藏, 编辑
摘要:一、皮肤的使用 拖入defaultLookAndFeel 组件到窗体中 拖入ribbonControl 控件到窗体中 将窗体继承为 DevExpress.XtraBars.Ribbon.RibbonForm 将窗体的AllowFormGlass属性改为 False 引用DevExpress.BonusSkins 引用DevExpress.OfficeSkins 在Main方法中加入代码DevExpress.UserSkins.BonusSkins.Register(); 7.DevExpress.UserSkins.OfficeSkins.Register(); 阅读全文

Adr翻译助手 1.0.1.5 版发布

2011-12-19 13:41 by Andrew.Wangxu, 230 阅读, 收藏, 编辑
摘要:第一个版本发布后经过网上的朋友以及身边的朋友深度测试后正如我所期待的一样,并有什么足以影响使用的BUG 在这个1.0.1.5版本中进行几十个微妙的优化,增加一部分功能,具体功能更新如下: 1、新增自动剪贴板 2、新增自动朗读 3、增加托盘功能 4、增加程序退出提示 5、增加托盘右键功能 更多功能自行体验吧~谢谢支持。 阅读全文

悄悄的发布“Adr翻译”第一个版本

2011-12-17 18:55 by Andrew.Wangxu, 148 阅读, 收藏, 编辑
摘要:经过了几天时间的开发,第一个版本基本稳定,个人暂时没测试出有什么BUG。 这里就不多说了,有图才有真相,咱就直接上图 上地址吧。 阅读全文

C# 使用DotNetSpeech.dll实现文本朗读

2011-12-14 22:27 by Andrew.Wangxu, 1727 阅读, 收藏, 编辑
摘要:Xp可能不支持中文发音,这点需要注意下。 vista以上版本的windows是可以的。 依然上图上代码: //获取选择的速度 private int GetSpeedSelected() { if (rbtnFast.Checked) { return 2; } if (rbtnNomal.Checked) { return 0; } if (rbtnSlow.Checked) { return -3; } return 0; } 阅读全文

C# AndrewUtil.dll 在小博中发布&分享(翻译组件)

2011-12-14 21:04 by Andrew.Wangxu, 928 阅读, 收藏, 编辑
摘要:AndrewUtil.dll (Version:1.0.0.0)提供了在实际项目中经常会使用的一些函数封装。 在这个第一个版本中,其中包含了邮件发送、DBHelper、以及N多实用函数。。 第一次发布,推崇一个AndrewUtil.dll 控件中的 翻译组件 分享给博友,欢迎拍砖指导。 有了这个组件之后,要实现翻译功能是非常的简单的一件事情,2行代码即可(当然,这里为了程序稳健一点,我们写一些判断,让程序体验更佳) 下面上图,上代码。 阅读全文

C# 关于使用OpenFileDialog 默认路径被重置的问题。

2011-12-14 09:47 by Andrew.Wangxu, 254 阅读, 收藏, 编辑
摘要:没测试过在主线程中使用会不会出现以下问题,但是我在新建的一个线程中出现了以下问题: 1:当使用该控件后,默认路径被修改。。 也就是说,程序中所有的默认路径基本都无法使用,因为路径变了。 解决方案及其简单。。。搞了好久 终于找到原因,如何恢复默认路径。。。 将控件的RestoreDirectory属性设置True 即可。。 阅读全文

关于自定义通知事件的跨线程问题(转)

2011-12-14 00:03 by Andrew.Wangxu, 341 阅读, 收藏, 编辑
摘要:[知识背景] 所谓自定义通知事件,就是指在自己的类中定义的事件,该事件用于向调用者发出通知。比如做一个下载工具,下载是需要时间的,用户在界面里点击“下载”之后,我的下载类在后台开启线程开始传输数据,前台界面上可以同时执行其他操作。当数据传输完成,需要通知界面(调用者)已完成下载,以便界面上做相应的改变。这就需要在我的下载类中有类似 DownloadCompleted 的事件,这样在用户的代码中可以通过 downloader.DownloadCompleted += new new EventHandler(XXXXX) 进入他自己的事件处理函数。 这里说的跨线程问题,是指非法的跨线程调用问题。还用上个例子,在下载完成时,需要改变界面中 Label 控件的 Text 属性以提示用户下载完成。这就牵涉到在另一个类所创建的线程中操纵UI线程中创建的控件。这种做法在 .NET 中是不推荐的,同时这样会严重影响代码质量。(可参考MSDN:ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxmclictl/htm 阅读全文

C# 邮件发送,可根据需求修改为群发~

2011-12-06 08:58 by Andrew.Wangxu, 2935 阅读, 收藏, 编辑
摘要:- -, 我直接上图 上代码吧。 阅读全文

解决ASP.NET中异步操作错误提示:此上下文中不允许异步操作

2011-12-06 08:55 by Andrew.Wangxu, 113 阅读, 收藏, 编辑
摘要:修改下就行了 - -!参考:http://www.wxzzz.com/?id=65 阅读全文

(转)C#监视某张表SqlDependency学习笔记

2011-12-06 08:54 by Andrew.Wangxu, 345 阅读, 收藏, 编辑
摘要:sqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的. 快速上手可参见园友的下列文章 阅读全文

使用SqlDependency时提示当前数据库未启用Service broker

2011-12-06 08:50 by Andrew.Wangxu, 140 阅读, 收藏, 编辑
摘要:解决办法: ALTER DATABASE 数据库名称 SET NEW_BROKER WITH ROLLBACK IMMEDIATE; ALTER DATABASE 数据库名称 SET ENABLE_BROKER; 阅读全文

C# 结束任务栏指定进程

2011-12-06 08:49 by Andrew.Wangxu, 105 阅读, 收藏, 编辑
摘要:public static void KillProcess(string processName) { System.Diagnostics.Process myproc = new System.Diagnostics.Process(); //得到所有打开的进程 try { foreach (Process thisproc in Process.GetProcessesByName(processName)) { if (!thisproc.CloseMainWindow()) { if (thisproc != null) thisproc.Kill(); } } } catch (Exception Exc) { 阅读全文

C# 禁止控件重绘(绘制)

2011-12-03 22:21 by Andrew.Wangxu, 461 阅读, 收藏, 编辑
摘要:完整代码:[DllImport(&quot;user32&quot;)] private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam); private const int WM_SETREDRAW = 0xB; //禁止pnl重绘 //SendMessage(SelfInfo_pnlContact1.Handle, WM_SETREDRAW, 0, IntPtr.Zero); //允许重绘pnl //SendMessage(SelfInfo_... 阅读全文

整理出来的一个windows关机、锁定、重启、注销 API调用

2011-12-03 22:19 by Andrew.Wangxu, 420 阅读, 收藏, 编辑
摘要:using System.Runtime.InteropServices; namespace HookDemo { class WindowsExit { [StructLayout(LayoutKind.Sequential, Pack = 1)] private struct TokPriv1Luid { public int Count; public long Luid; public int Attr; } 阅读全文

C#中方法、类等的默认访问修饰符~

2011-12-03 22:13 by Andrew.Wangxu, 205 阅读, 收藏, 编辑
摘要:C# 方法默认访问级别 : private C# 类默认访问级别 : internal 1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。 internal : 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。 2.各类型中的成员的默认访问修饰符 剩下的修饰符主要是正对继承这个语言特性的,拥有继承的类型有两个类(class)和接口(interface)。public,internal同样可以用于类型成员。 private : 同一类和结构的代码可以访问该类型和成员。 protected : 同一类和派生(继承特性)类中的代码可以访问该类型和成员。 protected internal : 同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。 阅读全文

Visual Studio 2010中添加App_Code文件夹注意事项

2011-12-03 22:08 by Andrew.Wangxu, 156 阅读, 收藏, 编辑
摘要:默认情况下,VS2010中新建的WebApplication中是没有App_Code文件夹的,若需要使用,可以自己手动添加文件夹,然后将文件夹名称设置为App_Code,然后在该文件夹添加需要的类即可,但有一点需要注意的就是,右键点击文件夹下的类,选择“属性”,然后将“生成活动“的值改为”编译“,即Compile。 阅读全文

C# 自定义事件整理项目 - EventDemo

2011-12-03 22:07 by Andrew.Wangxu, 158 阅读, 收藏, 编辑
摘要:模拟主持人发布一个问题,由多个嘉宾来回答这个问题。 分析:从需求中抽出Host (主持人) 类和Guests (嘉宾) 类。 作为问题的发布者,Host不知道问题如何解答。因此它只能发布这个事件,将事件委托给多个嘉宾去处理。因此在Host 类定义事件,在Guests类中定义事件的响应方法。通过多番委托的"+="将响应方法添加到事件列表中,最终 Host 类将触发这个事件。 阅读全文

C#(64位系统) 解决"未能加载文件或程序集,或它的某一个依赖项..."

2011-12-03 21:56 by Andrew.Wangxu, 648 阅读, 收藏, 编辑
摘要:这个问题通常出在引用第三方DLL或者自己以前写的DLL。 在64位系统下则可能会出现这种问题。 今天下载MySQLDriverCS后引用遍出现了这个问题,参考了一些文档,下面给出解决方法: 将项目的生成目标平台改为x86(默认Any cpu)就可以了。 因为原DLL是在32位(x86)平台下生成的,而程序却是x64的平台,所以需要更改下目标平台即可。 阅读全文

随意写了个数字MD5解密工具

2011-12-03 21:55 by Andrew.Wangxu, 161 阅读, 收藏, 编辑
摘要:工具支持0~16位的数字 查询一个9位数的MD5加密内容大概耗时30分钟~几个小时 只用了一个线程,还有就是界面所耗的时间、资源太多了。 可以优化的程度是非常非常高,只是闲的蛋疼就花了一两个小时写了一下。 阅读全文

刷新ListView刷新时的闪烁问题

2011-12-03 21:35 by Andrew.Wangxu, 535 阅读, 收藏, 编辑
摘要:LlistView.BeginUpdate(); 调用该方法,可以理解为禁止描述控件界面。 然后写入更新ListView数据之后,再调用以下方法! ListView.EndUpdate(); 表示继续描述控件界面。 阅读全文

C# 获取DataGridView中的复选框

2011-12-03 21:33 by Andrew.Wangxu, 228 阅读, 收藏, 编辑
摘要:根据选中的复选框获得ID。 代码如下: List ids = new List(); foreach (DataGridViewRow row in dgrd_Human.Rows) { if (row.Cells["selected"].Value != null) { if(row.Cells["selected"].Value.ToString() == "True") ids.Add(row.Cells[1].Value.ToString()); } } MessageBox.Show(string.Join(",", ids.ToArray())); 阅读全文

C#操作SQL Server中的Image类型数据

2011-12-03 21:29 by Andrew.Wangxu, 166 阅读, 收藏, 编辑
摘要:该例子是一个对SQL Server数据类型的一个操作例子,具有写入、读取功能。 1:准备数据库 1)创建数据库 Test 2)创建表 Table_1 (分别有2个字段:id(Int)、photo(Image)) 阅读全文

让开发更方便,让搜索更效率!

2011-12-03 21:21 by Andrew.Wangxu, 139 阅读, 收藏, 编辑
摘要:每天写代码难免要用很多次搜索引擎(百度、谷歌等),昨日找了几个小时的资料,如何用C#开发任务栏中的工具栏,很遗憾,没有找到相关的资料。 如果路过的朋友有方法思路或者例子,希望能发到我Email: Andrew.Wangxu@gmail.com 非常感谢。 我上个使用过程的图吧! 阅读全文

C# UDP 网络聊天程序

2011-12-03 21:17 by Andrew.Wangxu, 856 阅读, 收藏, 编辑
摘要:学习了UDP协议的使用以及TCP协议的对比,各有各的优势! 个人理解优势区别如下: 1:UDP协议称为不可靠的传输协议,因为在从发送方到接收方的传递过程中出现的数据丢失,协议本身并不能做出任何检测或者提示。 2:UDP速度比TCP快,因为UDP不需要先与对方建立连接,也不需要连接确认,因此速度要快的多。 理解下使用情景: 并不是说一个程序用UDP就用UDP 用TCP就用TCP,比如说QQ聊天,我们要开视频,语音,发送文件,文字。 其中开视频,语音就可以用UDP协议去做,文字也可以用UDP协议去做。而发送文件就用TCP去做啦,因为发送文件比较大的话 中途数据丢失,造成文件的完整性。。也会导致出问题。。而视频,在线电影这些就无所谓了,丢一点点也是看不出来的。 阅读全文

C# 异步TCP Socket聊天室(1服务器,N客户端)

2011-12-03 21:08 by Andrew.Wangxu, 3776 阅读, 收藏, 编辑
摘要:该例子是一个异步TCP Socket聊天室! 1个服务器 N个客户端 下载下来后,直接将本机的IP改为192.168.1.224即可直接运行程序,或者自行改下程序源码中指定的IP地址即可 ---------------------------- 该文章是访问突破万次的文章,因为是我前一段时间在CSDN上面发的!现在没用CSDN博客了,因为转阵营到CNBLOGS了~所以原文地址我就不贴出来了。 都是我本人原创的! 希望有不好的地方 提出来,感激不尽~~ 阅读全文

C# 简单封装一个XML文件读取类

2011-12-03 13:28 by Andrew.Wangxu, 838 阅读, 收藏, 编辑
摘要:很久没碰XML文件读写了,今天帮朋友写了一个相关的读取XML文件的操作类,封装成dll便于使用。 先说下需求吧: A:在XML文件中有多个集,每个集里面包含多个节点。 B:可根据集的名字的取出这个集合下面的所有节点值 C:可一次性取出所有的节点值 D:其中有一个是无限拓展的就是:表达式 E:把集合读取到一个模型(实体类)当中 先来看下XML文件结构的分析如下(我用红色方块勾出区域划分): 阅读全文

(转)开发人员一定要加入收藏夹的网站(.NET JAVA SQL等)

2011-12-03 13:03 by Andrew.Wangxu, 677 阅读, 收藏, 编辑
摘要:该文章是转载的,因为是直接拷贝的doc文档过来的,所以没源地址。 http://www.gotapi.com/ 语言:英语 简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。 http://www.w3schools.com/ 语言:英语 简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。 阅读全文

C# 索引器的简单例子

2011-12-03 12:46 by Andrew.Wangxu, 146 阅读, 收藏, 编辑
摘要:这个例子是使用索引器简单模仿一个string数组。 因为索引器本身就比较像数组,下面是关于索引器的概述: 索引器使得对象可按照与数组相似的方法进行索引。 get 访问器返回值。set 访问器分配值。 this 关键字用于定义索引器。 value 关键字用于定义由 set 索引器分配的值。 索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。 索引器可被重载。 索引器可以有多个形参,例如当访问二维数组时。 阅读全文

C# 让程序带参数运行 如:1.exe -a

2011-12-03 12:17 by Andrew.Wangxu, 287 阅读, 收藏, 编辑
摘要:这个例子演示的是Winform窗体带参数运行,看明白这个了。 那看命令行的小case~ 建立好了项目文件后,需要修改的地方有两点! 1:修改 Program 类中的Main方法 加上入口点,并且将参数传递到Form1窗体 2:修改 Form1窗体的构造函数,允许传参。 阅读全文

C# 多线程计时器类。

2011-12-03 12:13 by Andrew.Wangxu, 247 阅读, 收藏, 编辑
摘要:该例子是一个封装的计时器类。 实现功能: (1)传入一个时间 HH:mm:ss 字符串 和 label控件对象 即可实现控件倒计时。 三行代码即可运行,如下图效果: 当然,每个项目需要的需求不同,这里只是抛砖引玉。 阅读全文

C# 为什么使用了多线程界面假死?

2011-12-03 09:17 by Andrew.Wangxu, 880 阅读, 收藏, 编辑
摘要:这里贴出两个项目(已经测试)。 试想以上代码,当线程调用后,这个线程就会一直在ThreadStart里面跑 这个方法也未完全执行完成过(既界面不会更新),然而达到假死。 为了界面不假死达到多线程目的。就应该再增加一个方法专门来操作这个ThreadStart方法,让这个方法不停的执行。 下面是正确的代码区别..... 阅读全文

C# 多线程使用progressBar进度条控件

2011-12-03 09:13 by Andrew.Wangxu, 1099 阅读, 收藏, 编辑
摘要:该例子对为多线程使用progressBar的一个简单例子。 实现: (1)计算progressBar运行时间(既进度条开始到结束的时间) (2)利用多线程运行(用这个应该必须用多线程吧,否则没什么实际意义,因为你有进度条必然是要做其他的事情给予一个进度提示) 阅读全文

C# Application.DoEvents() 处理队列消息,防界面假死。

2011-12-03 09:05 by Andrew.Wangxu, 299 阅读, 收藏, 编辑
摘要:该方法可以处理当前队列的消息,比如一个for循环 5000次 向TextBox中追加文本,那肯定会假死一会儿的。 此时便可使用Application.DoEvents()来处理队列的信息。 简单说下使用Application.DoEvents() 和 不使用Application.DoEvents() 的区别: 不使用Application.DoEvents(): 循环5000次的话,界面会假死一会儿,然后等待for循环完全结束后然后显示界面。 使用Application.DoEvents(): 那么在for循环中加入这句话,界面消息就会及时的得到更新(既不会假死); 阅读全文

C# socket游戏编程(1服务器,多客户端)

2011-12-03 09:01 by Andrew.Wangxu, 3082 阅读, 收藏, 编辑
摘要:游戏规则如下: (1)玩家通过 internet 和 坐在同一桌的另外一个玩家对弈,一个玩家选择黑方,另一个玩家选择白方。 (2)游戏开始后,计算机自动在15x15的棋盘方格内,以固定的时间间隔,不停的在未放置棋子的位置随机产生黑色棋子或白色棋子。 (3)玩家的目标是快速单击自动出现在棋盘上的自己所选颜色的棋子,让棋子从棋盘上小时,以避免自己的棋子出现在相邻的位置。 (4)每当棋子从棋盘上小时,具有相应颜色的玩家既得1分。注意,如果玩家单击了对方的棋子,则对方得1分。 (5)如果棋盘上出现两个或者两个以上相邻的同色棋子,游戏就结束了,改颜色对应的玩家就是失败者。 阅读全文

C# Socket聊天程序(一个服务端,多个客户端)

2011-12-02 23:10 by Andrew.Wangxu, 7107 阅读, 收藏, 编辑
摘要:这是一个多用户聊天的socket程序 文件分别是两部分: 1.服务端 2.客户端 --------------------------------------------------- 使用方法:在一台电脑中挂起一个 服务端程序。 其他电脑即可开启客户端进行相互聊天(所有客户端之间); 在客户端与服务端的‘启动程序’目录下都有一个:ServerIPAndPort.txt 文本用于配置IP地址与端口 如局域网配置(服务端与客户端配置一致):192.168.X.X:8885 既你的本机局域网IP地址 外网配置:服务端配置为192.168.X.X:8885 即可,而客户端需要配置为 服务端的外网IP。 阅读全文

C# 向二进制文件进行读写操作

2011-12-02 23:04 by Andrew.Wangxu, 892 阅读, 收藏, 编辑
摘要:在这个例子中,使用BinaryWriter对象的Write方法向文件写入Double类型的变量 aDouble 时,由于参数是Double类型,因此调用Write(Double)的重载形式,向文件流写入一个固定长度为8字节的浮点类型数据。与此对应,读取该数据时,采用ReadDouble()方法从当前流中读取8字节浮点值。 当写入Int32 类型的变量 aInt 时,系统自动调用Write(Int32) 方法,向文件流中写入4 字节有符号整数,读取数据时,调用ReadInt32()方法,从文件流中读取4字节长度的数据。 阅读全文

C# 使用 StreamReader 读取数据

2011-12-02 22:58 by Andrew.Wangxu, 258 阅读, 收藏, 编辑
摘要:下面是关于StreadReader的使用例子。 用来读取TXT文本数据... 阅读全文

C# FileStream Write追加写入文本

2011-12-02 22:52 by Andrew.Wangxu, 940 阅读, 收藏, 编辑
摘要:该例子为追加 C盘中的 file1.txt 的文本内容 完整代码如下: 引入命名空间: using System.IO; 阅读全文

C# FileStream 按大小分段读取文本内容

2011-12-02 22:49 by Andrew.Wangxu, 407 阅读, 收藏, 编辑
摘要:该例子首先在C盘根目录创建一个名为’file1.txt‘的文本文件。 然后再运行该例子。。 完整代码如下: 引入命名空间: using System.IO; 阅读全文

C# Socket简单例子(服务器与客户端通信)

2011-12-02 22:45 by Andrew.Wangxu, 2681 阅读, 收藏, 编辑
摘要:这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信。 注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序。在这个例子中,实际上还有很多问题没有解决,如消息边界问题、端口号是否被占用、消息命令的解析问题等。。 下面是两个程序的代码,(两个程序均为控制台程序) 阅读全文

C# 网络数据编码与解码(Encoder and Decoder)

2011-12-02 22:31 by Andrew.Wangxu, 522 阅读, 收藏, 编辑
摘要:该例子为在C#中对网络数据编码与解码。 引用《网络应用编程(第二版)》49页的前面的话如下: 在网络通信中,很多情况下通信双方传达的都是字符信息。但是,字符信息并不能直接从网络的一端传递到另一端,这些字符信息首先需要被转换成一个字节序列后才能在网络中传输。将字符序列转换为字节序列的过程称为编码。当这些字节传送到网络的接收方时,接收方需要反过来将字节序列再转换为字符序列,这种过程称为解码。 阅读全文

C# Ping类的例子,可用于测试网络,主机响应时间等。

2011-12-02 22:28 by Andrew.Wangxu, 1649 阅读, 收藏, 编辑
摘要:该例子为利用Ping类检测与主机之间的通信是否正常。。延迟多少毫秒等。。 完整代码如下: 引入命名空间: using System.Net.NetworkInformation; ..... 阅读全文

C# IPGlobalStatistics获取本机网络流量信息

2011-12-02 22:08 by Andrew.Wangxu, 931 阅读, 收藏, 编辑
摘要:lst_NetworkInfo.Items.Add("本机所在域:" + properties.DomainName); lst_NetworkInfo.Items.Add("接收数据包:" + ipstat.ReceivedPackets); lst_NetworkInfo.Items.Add("转发数据包:" + ipstat.ReceivedPacketsForwarded); lst_NetworkInfo.Items.Add("传送数据包:" + ipstat.ReceivedPacketsDelivered); lst_NetworkInfo.Items.Add("丢弃数据包:" + ipstat.ReceivedPacketsDiscarded); 阅读全文

C# 代码执行效率(耗时) - 毫秒

2011-12-02 09:59 by Andrew.Wangxu, 291 阅读, 收藏, 编辑
摘要:DateTime start = DateTime.Now; //一些有趣的耗时的代码... TimeSpan spn = DateTime.Now - start; MessageBox.Show(&quot;耗时:&quot;+spn.ToString());虽然简单,简单的反而容易忘记。记一笔。参考:http://www.wxzzz.com/?id=25 阅读全文

C# 获取本机网卡信息、个数、描述信息、类型、速度等

2011-12-02 01:19 by Andrew.Wangxu, 307 阅读, 收藏, 编辑
摘要://显示网络适配器描述信息、名称、类型、速度、MAC 地址 lst_NetworkAdapter.Items.Add("---------------------第" + index + "个适配器信息---------------------"); lst_NetworkAdapter.Items.Add("描述信息:" + adapter.Name); lst_NetworkAdapter.Items.Add("类型:" + adapter.NetworkInterfaceType); lst_NetworkAdapter.Items.Add("速度:" + adapter.Speed / 1000 / 1000 + "MB"); lst_NetworkAdapter.Items.Add("MAC 地址:" + adapter.GetPhysicalAddress()); 阅读全文

C# 获得本机IP、端口等信息地址以及服务器IP信息

2011-12-02 01:17 by Andrew.Wangxu, 294 阅读, 收藏, 编辑
摘要:lst_HostIPInfo.Items.Add("IP端点:" + iep.ToString()); lst_HostIPInfo.Items.Add("IP端口:" + iep.Port); lst_HostIPInfo.Items.Add("IP地址:" + iep.Address); lst_HostIPInfo.Items.Add("IP地址族:" + iep.AddressFamily); lst_HostIPInfo.Items.Add("可分配端口最大值:" + IPEndPoint.MaxPort); lst_HostIPInfo.Items.Add("可分配端口最小值:" + IPEndPoint.MinPort); 阅读全文

C# 使用BackgroundWorker例子及注意点

2011-12-02 01:15 by Andrew.Wangxu, 253 阅读, 收藏, 编辑
摘要:该例子在 Backgroundworker 组件的辅助线程上随机产生整数,辅助线程运行DoWork事件处理程序,当产生能被5整除的整数时,使用ProgressChanged事件把整数显示到窗体上。程序执行到 RunWorkerAsync 方法时,将启动后台线程。 在Dowork事件中,如果应用程序没有取消后台操作,将不停的产生随机整数,然后判断该整数能否被5整除,如果能被5整除,执行work.ReportProgress方法来触发 ProgressChanged 事件,在 ProgressChanged 事件中与界面长须打交道,把生产的随机整数显示到窗体上。 阅读全文

C#多线程Lock锁定的使用例子(多线程线程同步)

2011-12-02 01:13 by Andrew.Wangxu, 335 阅读, 收藏, 编辑
摘要:这个例子是一个模拟多个人在多台提款机上同时提取一个账户的款的情况。 在存取的过程中 可能 A线程取了100 而B线程那边还看见账户上没少掉那100快,所以导致数据不统一,赋值出现问题。 下面代码则可以测试出加上Lock锁定 与 不加的区别。 阅读全文

C# 一个简单的多线程例子

2011-12-02 01:07 by Andrew.Wangxu, 196 阅读, 收藏, 编辑
摘要:实现功能主要是在一个窗体中利用2个线程来执行 a 与 b 字符的追加 一个是窗体代码 一个是class代码。 直接上代码了,先来窗体的吧。 阅读全文

C# 启动与停止进程

2011-12-02 01:04 by Andrew.Wangxu, 236 阅读, 收藏, 编辑
摘要:也是书中《C#网络应用编程》的一章。方便日后翻用。 该例子为 notepad.exe (记事本)程序的启动与结束 阅读全文

C# 进程监控器

2011-12-02 01:02 by Andrew.Wangxu, 311 阅读, 收藏, 编辑
摘要:学习《C#网络应用编程》的一个开始,在博客上记录下源码以便日后翻用。 实现对当前进程的详细信息进行监视。 阅读全文

在winForm窗体上加上DialogResult作为返回值

2011-12-02 00:59 by Andrew.Wangxu, 753 阅读, 收藏, 编辑
摘要:例子: 在A窗体【按钮】弹出 B窗体 并且当B窗体关闭时判断是【确定】还是【取消】 则可以在B窗体上加上DialogResult返回值。 然后A窗体再进行判断。 阅读全文

窗体之间调用方法,参数等。(传窗体引用)

2011-12-02 00:56 by Andrew.Wangxu, 110 阅读, 收藏, 编辑
摘要:以下代码实现 B窗体调用A窗体的方法。 其实就是传 this 窗体A... 阅读全文

用string.Join与List<T>或者与string数组转换为字符串

2011-12-02 00:50 by Andrew.Wangxu, 343 阅读, 收藏, 编辑
摘要:以上是将数组转换为 字符串的例子。 如不需要分隔符则可以以""参数 为空。 有分隔符也挺好啦,可用string.split方法再进行转换为数组使用,很多时候都会用到的。 也是直接贴代码上来了 阅读全文

关于 strftime 的使用

2011-12-02 00:45 by Andrew.Wangxu, 1134 阅读, 收藏, 编辑
摘要:strftime,是一种计算机函数,strftime() 函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串。 自我理解可以用于基于C语言的语言里面使用 如 C C++ SQLite数据库等 阅读全文

C#枚举的应用

2011-12-02 00:41 by Andrew.Wangxu, 337 阅读, 收藏, 编辑
摘要:枚举的使用 可回忆 DialogResult 的使用。 也可理解为一组常量。 带来的好处 还是蛮多的,比较起来直观 方便 自增 具体使用还看实际应用中,以上代码例子为个人理解,希望大家指正。谢谢 阅读全文

DataGridView获得所有选中行的某列的值

2011-12-02 00:38 by Andrew.Wangxu, 108 阅读, 收藏, 编辑
摘要:foreach (DataGridViewRow dgvRow in 控件.SelectedRows) { int id = (int)dgvRow.Cells[&quot;Id&quot;].Value; } 参考:http://www.wxzzz.com/?id=3 阅读全文

C# 注释说明

2011-11-24 00:42 by Andrew.Wangxu, 1064 阅读, 收藏, 编辑
摘要:预定义的标签 用处 将说明中的文本标记为代码 提供了一种将多行指示为代码的方法 指定使用方法或其他库成员的示例 允许你指定可能发生的异常类 允许你引用描述源代码中类型和成员的另一文件中的注释, 使用 XML XPath 语法来描述你的源代码中的类型和成员。 阅读全文