• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Linford Xu

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  C#

 
让C#可以像Javascript一样操作Json DynamicJson
摘要:http://blog.csdn.net/lisenyang/article/details/52535314 阅读全文
posted @ 2017-11-10 16:21 Linford Xu 阅读(219) 评论(0) 推荐(0)
解决C#使用Microsoft.Office.Interop.Excel操作Excel后进程一直存在的问题
摘要:This resolved the issue for me. Your code becomes:public Excel.Application excelApp = new Excel.Application();public Excel.Workbooks workbooks;public ... 阅读全文
posted @ 2015-04-23 14:33 Linford Xu 阅读(6727) 评论(0) 推荐(0)
你真的了解装箱(Boxing)和拆箱(Unboxing)吗?
摘要:所谓装箱就是装箱是将值类型转换为 object 类型或由此值类型实现的任一接口类型的过程。而拆箱就是反过来了。很多人可能都知道这一点,但是是否真的就很了解boxing和unboxing了呢?可以看下下面一段代码,里面发生了几次装箱过程?public static void Main(string[] args) { Int32 v = 5; Object o = v; v = 123; Console.WriteLine(v+" , "+(Int32)o); }不少人可能认为只有... 阅读全文
posted @ 2013-07-24 16:17 Linford Xu 阅读(1174) 评论(0) 推荐(0)
使用UI Automation实现自动化测试--1
摘要:Introduction UI Automation是Microsoft .NET 3.0框架下提供的一种用于自动化测试的技术,是在MSAA基础上建立的,MSAA就是Microsoft Active Accessibility。UI Automation在某些方面超过了MSAA,UI自动化提供了Windows Vista中,微软Windows XP的全部功能,和Windows Server 2003。 在UI Automation中,所有的窗体、控件都表现为一个AutomationElement, AutomationElement 中包含此控件或窗体的属性,在实现自动化的过程中,我们通过.. 阅读全文
posted @ 2013-07-15 17:24 Linford Xu 阅读(702) 评论(0) 推荐(0)
使用UI Automation实现自动化测试--2
摘要:1. 首先建立一个待测试的winform程序,即UI Automation的服务端。下面是button事件处理程序。 private void CalculateButton_Click(object sender, EventArgs e) { int num1 = 0; int num2 = 0; if (!int.TryParse(textBox1.Text.Trim(), out num1) || !int.TryParse(textBox2.Text.Trim(), out num2)) ... 阅读全文
posted @ 2013-07-15 17:18 Linford Xu 阅读(915) 评论(0) 推荐(0)
.Net 中的托管资源和非托管资源
摘要:.NET中的所有类型都是(直接或间接)从System.Object类型派生的。 CTS中的类型被分成两大类——引用类型(reference type,又叫托管类型[managed type]),分配在内存堆上;值类型(value type),分配在堆栈上。如图:首先说下在栈和堆在window中的区别,栈是向低地址扩展的数据结构,是一块连续的内存区域,先进后出的。而堆是向高地址扩展的数据结构,是不连续的内存区域,顺序随意的。值类型在栈里,先进后出,值类型变量的生命有先后顺序,这个确保了值类型变量在退出作用域以前会释放资源。比引用类型更简单和高效。堆栈是从高地址往低地址分配内存。 引用类型分配.. 阅读全文
posted @ 2012-09-28 15:19 Linford Xu 阅读(535) 评论(0) 推荐(0)
C#多线程访问Winform控件跨线程问题
摘要:我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题,随之就极有可能出现这个异常:Cross-thread operation not valid:Control 'textBox1' accessed from a thread other than the thread it was created on。在网上看了一些解决方案,第一个就是在winfrom的load方法里加入这行:Control.CheckForIllegalCrossThreadCalls =false;(不推荐)这句代码就是说在这个类中我们不检查跨线程的调用是否合法( 阅读全文
posted @ 2012-09-19 10:50 Linford Xu 阅读(3672) 评论(1) 推荐(0)
C# Delegate & Event(New)
摘要:花了两天时间终于把张老师关于委托和事件的文章看完并实践了一下,对委托和事件的了解更加清楚了。以前不知道有了委托还要用事件,一直都没有弄清楚,今天终于明白了这点:声明一个事件不过类似于声明一个进行了封装的委托类型的变量而已,就像声明一个sting类型的属性一样;而且事件应该由事件发布者触发,而不应该由客户端(客户程序)来触发,客户端只要订阅这个时间就好了,当时间发布者发生变化触发事件时,自动执行客户端的注册方法。此外,学习到委托和方法的异步调用,受益匪浅啊。link:http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.htmlh 阅读全文
posted @ 2012-08-29 17:33 Linford Xu 阅读(199) 评论(0) 推荐(0)
C# 静态类与非静态类、静态成员的区别
摘要:转自:http://blog.sina.com.cn/s/blog_48a45b950100j68w.html;静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new关键字创建静态类类型的变量。在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。 静态类是自C# 2.0才引入的,C# 1.0不支持静态类声明。程序员必须声明一个私有构造器。私有构造器禁止开发者在类的范围之外实例化类的实例。使用私有构造器的效果与使用静态类的效果非常相似。两者的区别在于,私有构造器方式仍然可以从 阅读全文
posted @ 2012-08-27 14:56 Linford Xu 阅读(1693) 评论(0) 推荐(0)
C# delegate & Event
摘要:感觉这篇文章不错,收藏下。http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 阅读全文
posted @ 2012-08-27 10:52 Linford Xu 阅读(127) 评论(0) 推荐(0)
用 GDI+ 创建图形图像
摘要:GDI+(Graphics Device Interface), 它由.NET 基类集组成,这些基类可用于在屏幕上完成自定义绘图,能把合适的指令发送到图形设备的驱动程序上,确保在屏幕上显示正确的输出(或打印到打印件中)。 绘图所用的类、结构等都包含在System.Drawing 名称空间中,在GDI 中,识别输出设备的方式是使用设备上下文(DC)对象,在GDI+中,DC 包装在.NET 基类System. Drawing.Graphics 中,所以大多数绘图工作都是调用关于Graphics实例的方法完成的。 处理图形包括两个步骤:创建 Graphics 对象。使用 Graphics... 阅读全文
posted @ 2012-06-26 15:22 Linford Xu 阅读(188) 评论(0) 推荐(0)