C#
文章平均质量分 68
Eric_Jiang
目前在做.NET开发的相关工作。
展开
-
C#的应用程序配置文件名只能为App.config
<br /> 今天在一个使用MVVM的WPF的程序中使用配置文件,随便添加了一个XXXX.config的文件,插入<br /><?xml version="1.0" encoding="utf-8" ?><configuration> <appSettings> <add key="TimeInterval" value="100"/> </appSettings></configuration> <br /> 然后在ViewModel中访问System.C原创 2010-12-14 16:14:00 · 2397 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 5
After Part 4, we will partly refactor the code to build a custom component.We define a new assembly called FlowComponent where we will move most of the code. First, the c# code will be part of转载 2012-08-29 15:24:45 · 1443 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 7
After some improvements in the Cover class, let's describe how virtualization works.We do not keep all covers in memory. Remember the drawing in Part 2. At a given time, we only keep a few c转载 2012-08-29 15:32:18 · 670 阅读 · 0 评论 -
Clean Code Notes
Meaningful NamesUse intention revealing namesAvoid disinformationavoid names with meaningavoid type info (ex: accountList → accounts)avoid long names with minor differencesavoid in转载 2012-08-29 16:39:13 · 1376 阅读 · 0 评论 -
C#计时利器:Stopwatch的使用
本文演示C#计时器:Stopwatch的使用。 页面代码:<Window x:Class="TestStopwatch.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/原创 2012-08-23 15:28:31 · 5804 阅读 · 0 评论 -
DateTime.DayOfWeek转换格式
DateTime.DayOfWeek默认获取的是英文格式,Monday、Tuesday等。有时候给用户显示的是中文,有时候用到数字,怎样转换呢。1.转中文。a)用switch,有点儿麻烦,不写了b)用数组string [] Day=new string []{"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};Console.W转载 2012-08-28 10:30:09 · 21041 阅读 · 0 评论 -
WPF中的换行符
WPF中UI上和后台代码中的换行符不同。其中:XAML中为 C#代码中为\r\n或者:Environment.NewLine原创 2012-08-28 10:39:04 · 28806 阅读 · 1 评论 -
WPF中图形表示语法详解(Path之Data属性语法)
老规矩,看图说话。先看显示效果:(图1)XAML(代码A):http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > PathFigureCollection的表示方法-->P转载 2013-02-17 15:01:07 · 1621 阅读 · 0 评论 -
C#自动搜索符合特征的串口号
业务场景:在开发需要用到USB转串口的设备的时候,每次和电脑连接,COM名称都可能会改变。解决办法:最容易想起来的办法是把串口号写在配置文件中(或让用户在UI上选择),这样实际操作起来还是有些繁琐,下面我要介绍的是从CodeProject上看到的一篇文章,可以自动根据串口设备的某些特征来自动搜索特定的串口设备。 举例来说,根据串口的路径里是否包含“FDTIBUS”来判断是不是我要原创 2013-06-19 12:11:58 · 7833 阅读 · 4 评论 -
比较C#中几种常见的复制字节数组方法的效率
在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList.Copy,BinaryReader.ReadBytes,Buffer.BlockCopy,以及System.Buffer.memcpyimpl,由于最后一种需要使用指针,所以本文不引入该方法。 本次测试,使用以上前4种方法,各运行1000万次,观察结果。us原创 2013-08-16 11:25:56 · 23900 阅读 · 1 评论 -
MEF动态创建新的实例
MEF的基本概念不再赘述,不了解的朋友可以去MEF官网一探究竟。 本文主要分享在MEF中动态创建新实例的三种方法。使用.net 4.5中的ExportFactory类实现;使用反射的方式来实现;使用CompositionContainer类实现。接口定义internal interface IPerson { string Na原创 2014-03-13 16:28:55 · 6417 阅读 · 0 评论 -
Unit Test 访问Internal类型和方法
原则上Unit Test主要是测试一些Public的类型和方法等,但是有时候我们需要验证标记为Internal的类型是不是正常工作。那么,既然被标记为Internal了,应该就不能被所在项目之外的项目访问了,这时最容易想起来的方式是将Internal标记的类型临时改为Public,此方法可行,但是在大量Internal类型需要修改的时候就不适用:不但修改起来繁琐,还有可能会在最后忘记改回Inter原创 2014-03-14 11:27:39 · 4138 阅读 · 0 评论 -
C#中只启动一个程序实例
当我们需要只启动一个C#程序实例的时候,一个比较标准的做法是原创 2014-05-04 11:36:31 · 1862 阅读 · 0 评论 -
C#的协变和抗变
本文摘抄自《C#高级编程 第七版》转载 2014-09-02 10:30:25 · 7174 阅读 · 1 评论 -
WPF Cover Flow Tutorial : Part 2
Since Part 1, we now know how to display a cover in 3D.In order to display a reflection mirror, we add another GeometryModel3D to our Model3DGroup. This new element will be based on these points :转载 2012-08-29 15:14:06 · 1104 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 1
Disclaimer : if you don't know anything about WPF, you should read this excellent tutorial. This should be considered as Part 0.Now, I will describe how to develop a Cover Flow component in WPF.转载 2012-08-29 15:00:13 · 1425 阅读 · 0 评论 -
将String转换成Enum 以及Enum转换成String
<br /> 一: 在C#中将String转换成Enum:<br /> object Enum.Parse(System.Type enumType, string value, bool ignoreCase); 所以,我们就可以在代码中这么写:<br /> enum Colour { Red, Green, Blue } // ... Colour c = (Colour) Enum.Parse(typeof(C原创 2010-10-27 15:23:00 · 20415 阅读 · 0 评论 -
C# : Enum and overriding ToString on it
I saw two posts on Enums today on Eric Lipperts and Chris Rathjen's blog. Enums are significantly different from the other types and people run into unusal problems while working with them.C++The CLI enum is considerably different from the native C++ enum转载 2011-05-26 22:36:00 · 2747 阅读 · 0 评论 -
C#序列化和反序列化之一-二进制序列化
本系列文章主要介绍C#应用程序开发中常用的序列化和反序列化技术(不包含Web服务中的序列化,详见C#序列化与反序列化),包括以下两种方式:二进制序列化XML序列化和反序列化 首先介绍二进制序列化,二进制序列化是使用BinaryFormatter 类的实例方法 Serialize(Stream, Object) 和 Deserialize(Stream)原创 2011-10-20 22:27:21 · 7111 阅读 · 1 评论 -
C#获取指定的日期是一年中的第几个周
在C#中的 System.Globalization.Calendar的类中,提供了日历的一些操作,其中就有GetWeekOfYear这个方法,可以获取指定的日期是一年中的第几个周,还可以传入CalendarWeekRule和DayOfWeek类型的参数,方法定义如下:public virtual int GetWeekOfYear( DateTime time,原创 2011-11-09 22:16:21 · 4638 阅读 · 0 评论 -
引用Microsoft.Build.Tasks.v4.0出错问题
Microsoft.Build.Tasks命名空间里有很多有用的类和方法(默认在Microsoft.Build.Tasks.v4.0C:\Windows\Microsoft.NET\Framework\v4.0.30319文件夹下). 最近为了为文件签名而需要使用SecurityUtilities,所以引用了它,但是引用之后出错,如图一所示:图一 引用Microso原创 2012-06-06 09:20:52 · 5547 阅读 · 0 评论 -
关于C#中的错误:The type 'X' does not exists in the "Y"
这个问题比较隐蔽,VisualStudio报错的文件和错误发生位置都不是问题真正的根源。 当出现这个问题时请检查这个项目中是否有类名和命名空间是否同名,同名的话就修改其中一个。原创 2012-05-18 10:22:06 · 982 阅读 · 0 评论 -
Detection of Half-Open (Dropped) Connections
There is a three-way handshake to open a TCP/IP connection, and a four-way handshake to close it. However, once the connection has been established, if neither side sends any data, then no packets are转载 2012-08-13 13:18:25 · 1011 阅读 · 0 评论 -
Visual Studio 2012新特性一览
A quick tour of the new features in Visual studio 2012.Code window resizeA feature you can turn on/off is automatic resizing of the code window.When you are editing your code, sele转载 2012-08-17 13:51:29 · 5582 阅读 · 1 评论 -
WPF Cover Flow Tutorial : Part 3
In Part 2, we miss the animation part of the flow.In the main TestWindow, we save all the covers in a List :view plainprint?private readonly List coverList = new List(); pub转载 2012-08-29 15:16:24 · 756 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 4
We can improve the HCI from Part 3 with some mouse handling.We add a MouseDown handler method to our Viewport3D :view plainprint?private void OnViewportMouseDown(object sender,转载 2012-08-29 15:22:34 · 925 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 6 (bis)
I'll start with some Cover refactoring :Class becomes internalI add the ICover interface, mainly for unit testing with a fake class implementing ICover :view plainprint?public inte转载 2012-08-29 15:29:55 · 926 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 6
After building a standalone component in Part 5, I wanted to improve performance.I've read many blogs about IScrollInfo, ItemsContainerGenerator, Generator, Selector and ItemsControlclasses. I转载 2012-08-29 15:26:58 · 788 阅读 · 0 评论 -
WPF Cover Flow Tutorial : Part 7 (source)
Before disclosing sources of Part 7, here a few notes.I provide a sample ThumbnailManager, working with an IsolatedStorageFile.view plainprint?public class ThumbnailManager : I转载 2012-08-29 15:33:19 · 790 阅读 · 0 评论 -
Linq Expressions – Creating objects
This post shows how you can use Linq expression trees to replace Activator.CreateInstance.but first, please note that this is a followup on Oren’s post so read it before you read mine:http://w转载 2014-08-27 17:17:27 · 970 阅读 · 0 评论