
.Net
文章平均质量分 83
YapingXin
航天/航空/军工装备行业,航电系统、遥测/测发控系统、系统故障诊断、预测与健康管理(PHM)高级系统架构师。
展开
-
C# Tips: 64位操作系统运行P/Invoke程序出现BadImageFormatException错误,错误代码:0x8007000B
在64位Windows 7上运行一个P/Invoke程序出现BadImageFormatException错误,错误代码是:0x8007000B具体错误信息如下:BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0原创 2013-12-18 14:53:14 · 4682 阅读 · 1 评论 -
在 Visual Studio 2012 中创建 ASP.Net Web Service
在 Visual Studio 2012 中创建 ASP.Net Web Service,步骤非常简单。如下:第一步:创建一个“ASP.Net Empty Web Application”项目创建一个“ASP.Net Empty Web Application”项目。你会看到一个进度条,显示 Visual Studio 2012 正在创建这个空的 ASP.Net Web App原创 2012-09-18 23:29:01 · 28882 阅读 · 2 评论 -
WPF Tips: Uncheckable radio buttons
Radio button 通常的行为是:某一组 Radio button 只能有一个被选中( Checked ),当一个被选中是其余的 Radio button 自动 Uncheck。但是,有没有什么办法让这一组 Radio button 在被点击之后,再回复到任何一个 Radio button 都没有被选中的状态呢?比如说,两个 Radio button:Radio 1 和 Radio 2,原创 2012-08-20 18:13:54 · 2896 阅读 · 0 评论 -
C# Tips:Sort a list
假设我们有这样一个类:public class DataItemSection{ public byte BytePosition { get; set; } public byte BitNumber { get; set; }}如果我们要对 List 进行排序,要怎么做呢?办法有三种:改写 DataItemSection 类的定义,使其继原创 2012-08-14 18:46:32 · 1429 阅读 · 11 评论 -
C# Tips:将16进制形式的字符串转换成数值
/// /// Gets the UInt64 value from text./// /// The hex or decimal text./// The UInt64 value./// /// true indicates no error occurs during calculating; /// fasle indicates error occurs.///原创 2012-08-13 11:43:57 · 1725 阅读 · 0 评论 -
C# Tips:位运算相关
共享一堆位操作相关的方法:// -----------------------------------------------------------------------// ////// File Name : UInt64MaskHelper.cs// Description : Helper class to support原创 2012-08-13 09:30:47 · 1764 阅读 · 1 评论 -
C# Tips:在继承中,new 与 override 的区别
在方法、属性的继承中,new关键字表示隐藏基类的实现,使得子类也可以定义与基类同名同形参的方法和属性。而override关键字表示重写,基类的方法或属性在子类中被重写后,调用子类的方法或属性一定会从子类执行。说得可能很拗口,但是举个例子一看就明白了。先看new关键字的例子:基类 ControlModel.csusing System;namespace In原创 2012-06-19 16:08:24 · 2415 阅读 · 3 评论 -
WPF Example: XmlDataProvider & Editable ComboBox
代码如下:MainWindow.xaml<Window x:Class="ComboBoxDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/20原创 2012-06-06 18:55:40 · 2384 阅读 · 0 评论 -
Open Source and/or Free Alternatives to .Net Reflector
大名鼎鼎的.NET Reflector,.Net Assembly浏览与反编译工具,为.Net开发者提供了极大的方便。但遗憾的是,.NET Reflector自从7.0版本起开始收费了。虽然费用也不算很高吧,100美元左右,但.NET Reflector的收费让同类的其它那些开源且免费的工具获得了机会。以下是一些免费、开源的.NET Reflector替代工具:1. ILSpy原创 2012-06-01 09:40:34 · 1994 阅读 · 0 评论 -
C# Tips: How to tell if system is little endian or big endian?
上回书说到,如果用C语言来判断系统的字节存储顺序 Little endian 和 Big endian ,函数如下: #include #include #include union TestEndian_Unit { uint16_t value; uint8_t byt原创 2012-04-20 05:13:26 · 1966 阅读 · 0 评论 -
泛泛地说说托管代码的运行效率问题
谁都知道C比C++快,C++比C#快。问题是快多少。而具体快多少也不应该泛泛而谈,应该是什么类型的操作中快百分之多少,以及细分为冷启动、热启动、运行中、多次运行均值、峰值、资源受限的一些特殊情况,分这些情况下分别向此地测试、分析、说明。Microsoft 提供的资料宣称 .NET 大约是 C/C++ 执行效率的 90%。XNA 则提供资料宣称 Managed DirectX原创 2012-04-24 05:30:48 · 2016 阅读 · 3 评论 -
C# Tips:UInt64MaskHelper
本文是《C# Tips:位运算相关》的Update。对《C# Tips:位运算相关》中所定义的类 UInt64MaskHelper,增加了一个实用函数,然后再给出了一个小例子。这个类设计的用意是方便二进制数据包的 Encoding / Decoding。先贴出更新后的 UInt64MaskHelper 类:// -------------------------------原创 2012-09-25 18:14:16 · 3929 阅读 · 0 评论 -
[科普小短文]在C#中调用C语言函数(静态调用Native DLL,Linux & Mono平台)
之前写过一篇小短文:《[科普小短文]在C#中调用C语言函数》,是在Windows平台下基于Microsoft.Net的一个例子。今天我们来做另外一个小例子,是在Linux平台下基于Mono的例子。关于在C#中调用C语言函数的具体技术P/Invoke,在之前那篇文章《[科普小短文]在C#中调用C语言函数》中有介绍,不了解的读者可以去看一下,这里不多介绍了,直接来看我们的例子。一、准备动态原创 2012-06-18 01:20:22 · 7898 阅读 · 17 评论 -
Windows Form Tips: 无边框窗口实现用鼠标拖拽的功能
有时候,为了达到一些特定的UI效果,我们可能会将一个Windows Form设定为无边框的形式(FormBorderStyle设置为None),但这时,窗口也将失去正常的用鼠标拖拽的行为。但下面这个例子可以让无边框窗口的鼠标拖拽功能又恢复回来。注意这个例子只支持按住鼠标左键拖拽。假设窗口为Form1,我们为Form1增加MouseDown的响应函数Form1_MouseDown,以及M原创 2014-01-12 23:58:42 · 4764 阅读 · 0 评论 -
WPF Tips:Using d:DataContext design time expression
这是一个很实用的小技巧,它对运行时无任何影响,仅影响设计时(Design time)。原创 2014-04-17 17:20:33 · 10936 阅读 · 0 评论 -
WPF Tips:无边框的CheckBox
style定义如下: <Path Name="path" Opacity="0.1" Data="M 0 5 L 3 10 10 0" StrokeThickness="1.5" />原创 2014-06-17 12:32:04 · 6202 阅读 · 0 评论 -
.Net可以做什么
首先,你可以拿.Net来玩Linux。相关技术:Mono、mod_Mono这两项技术的官方网站:http://www.mono-project.com/Main_Pagehttp://www.mono-project.com/Mod_mono我已经原创 2011-08-26 14:41:17 · 8063 阅读 · 15 评论 -
人们接受Mono之前必须明确的事情
和飞飞鱼一样,我也一直在向一些公司和个人推广Mono。不得不承认,现实世界中,人们一提到Mono,首先的需求就是把Microsoft .Net下的程序移植到Mono.Net。现实和人们的这个期望多少有些差距,虽然这个差距并不大。差距产生的原因是,Microsoft.Net和Mono.Net,并不是“同一个.Net”,它毕竟是“两套不同的.Net”。虽然这两套.Net之间绝大多数特性是可互相兼容、可原创 2011-08-29 12:08:00 · 20452 阅读 · 142 评论 -
WPF Tips:ViewModelBase
对于View model,我们都需要继承自原创 2014-04-17 17:26:10 · 7724 阅读 · 0 评论 -
WPF Tips:推荐一个好工具:Kaxaml (比XamlPad强多了)
XamlPad太弱了,所以,推荐一个完全可以取代它的更好的选择:Kaxaml原创 2014-04-17 10:49:17 · 13662 阅读 · 1 评论 -
C# Tips: 将 VS2012 / VS2013 的.sln文件、project文件转换成 VS2010格式
原来有一些VS2013的工程文件(.sln、.csproj),使用.Net 4.0。现需要将它们转换成VS2010格式。经实验,办法如下:(1) 在Solution文件(.sln)中:把文件头部这样的行:Microsoft Visual Studio Solution File, Format Version 11.00# Visual Studio 2013把它们替换成:原创 2013-11-25 06:15:10 · 11163 阅读 · 6 评论 -
C# Tips: ICloneable<T>
问题的提出C#的ICloneable是一个非常糟糕的设计,原因有两个:(1) 它没有实现ICloneable(2) 它没有区分深拷贝(deep copy)与浅拷贝(shallow copy)。那么,我们现在就定义一个ICloneable出来。解决方案ICloneablenamespace Saturn.CommonLibrary.Infrastr原创 2013-10-15 19:32:50 · 3217 阅读 · 0 评论 -
[科普小短文]在C#中调用C语言函数(静态调用Native DLL,Windows & Microsoft.Net平台)
本文属于“科普”性质,面向对.Net不了解的读者。 对于不太了解.Net的人,如果想要了解.Net,我必须给他介绍P/Invoke。P/Invoke是什么呢?简单地说,就是在.Net中调用本地代码(Native code)的一种解决方案。所谓“本地代码”是相对于托管代码(Managed code)来说的。P/Invoke实在是一个非常棒(awesome)的特性。本来,.Net 这项技术...原创 2012-02-23 20:04:33 · 19627 阅读 · 18 评论 -
C# Tips: 通过WMI查询当前操作系统是64位的还是32位的
预备知识:WMI(Windows Management Instrumentation)是内置在 Windows 系列操作系统中核心的管理支持技术,目前WMI 已经是一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的 Windows 资源例如磁盘、事件日志、文件、文件夹、文件系统、网络组件、操作系统设置、性能数据、打印机、进程、注册表设置等等。WQL(WMI Query Lan原创 2012-04-07 19:42:52 · 3955 阅读 · 0 评论 -
Example: Receive HTTP Post via ASP.Net Generic Handler
假设我们要提供一个小小的服务,采用HTTP协议进行通讯,客户端 POST 一些数据到服务器上。客户端不一定是PC,更不一定会按照一个Web Form的格式来提交数据,它可能是一个运行在PC上的Desktop Application,也可能是一个移动设备。 服务器端接收这样的请求极其简单,下面寥寥数行代码即可实现:在Web站点中新建一个Generic Handler(*.ashx),代码原创 2012-03-20 13:50:03 · 2881 阅读 · 4 评论 -
关于“.Net是从Java抄袭而来的”这种无知的说法
对知识产权保护得不够,那是在天朝。出了天朝,在发达欧美国家,抄?先罚到你破产再说!越是这种大公司,越是知识产权保护的重点,既要防止别人抄自己,又要杜绝自己抄别人,哪怕用个第三方工具都要经公司法务审核又审核,深怕日后官司缠身。动不动就说人家抄,你以为都跟天朝似的?但是技术这东西,你能实现,我也能实现。就好像Intel能造通用CPU,AMD也能造。三星、摩托罗拉、飞思卡尔也能造,只不过他们造的原创 2011-10-19 14:35:17 · 4049 阅读 · 16 评论 -
关于Mono的好网站
1. http://www.integratedwebsystems.com 国外专门介绍Mono的安装、配置等问题的网站。2. http://www.imono.cc 国内比较好的Mono讨论社区。3. http://www.infoq.com/cn/mono原创 2011-10-04 21:30:47 · 1841 阅读 · 0 评论 -
C# Tips: How to remove white-space characters inside a string?
The answer is very simple, just a line of code:string outputString = Regex.Replace(inputString, @"\s", string.Empty);原创 2011-09-22 10:58:18 · 1436 阅读 · 0 评论 -
给开发者推荐的网站
给开发者推荐的网站。想起哪个写哪个,排名不分先后。codeprojectcodeplexstackoverflowMSDNInfoQChannel9MSDN Magazinecnblogs.comimono.ccIBM DeveloperWorksDevXsf.netDe原创 2011-08-17 00:05:42 · 1426 阅读 · 5 评论 -
代码示例:递归遍历文件夹实现目录拷贝
public static bool CopyDirectory(string pathSrc, string pathDst) { if(!Directory.Exists(pathSrc)) { return false; } Cr原创 2011-08-12 13:48:54 · 3218 阅读 · 0 评论 -
Mono 2.10.3 is released
This is Xamarin's first official Mono release.原创 2011-08-05 07:20:09 · 1222 阅读 · 2 评论 -
用JQuery上传插件Uploadify实现带进度条无刷新多文件上传
Uploadify 是一个非常好的jQuery文件上传插件,可以实现无刷新多文件上传,带进度显示,基于Flash与Ajax技术。我在Firefox 4.0.1 和 IE 9.0.8112 浏览器中使用,兼容性良好。使用许可是 MIT,免费开源且可自由地用于商业用途。下面我给出一个用 ASP.Net 调用的例子。原创 2011-05-11 11:50:00 · 11582 阅读 · 2 评论 -
分布式服务平台的协议设计
协议设计(Protocol Design)数据包格式设计(Package Structures Design) 客户端与服务端之间相互通信,有两种形式的数据包参与其中:· 命令请求数据包(Request package):发出命令请求·原创 2011-06-17 10:58:00 · 2440 阅读 · 2 评论 -
解决在 Linux 上安装 gtk-sharp-2.12.10 时缺失 pango 的问题
<br />环境:Debian Linux 6.0.0-i386<br /> <br />从 mono 官方下载 gtk-sharp-2.12.10.tar.bz2,<br /> <br />tar jxvf gtk-sharp-2.12.10.tar.bz2cd gtk-sharp-2.12.10./configure --prefix=/usr/local/mono<br /> <br />遇到以下问题:<br /> <br />checking size of off_t... 4ch原创 2011-04-12 09:47:00 · 5081 阅读 · 0 评论 -
微软低调发布Silverlight 5
继业界传言微软将放弃Silverlight之后,上周,微软低调发布了Silverlight 5。昨天,微软宣布 Silverlight 5 Available for Download Today。Silverlight 5包括了H.264硬解码支持、"Trusted Application"模式的扩展、Postscript矢量打印、通过对GPU的低级访问增强XNA API的包括3D在原创 2011-12-10 09:44:28 · 1225 阅读 · 5 评论 -
VS2008:解决XAML Designer无法使用的问题
昨天突然遇到一个问题:用Visual Studio 2008 Professional打开一个WPF project的时候,无法使用XAML Designer。出错信息为:... make sure the application for the file type .xaml is installed ...截图:在网上搜,看看其他人是怎么解决这个问题原创 2012-01-05 18:32:38 · 2131 阅读 · 0 评论 -
Office 2003 PIA编程的问题:文件保存为XlFileFormat.xlExcel7格式时Range.Merge()失效
先抱怨一下:最近在写一个极其恶心的程序:生成Excel reporting。说这个程序恶心,是因为,实现这个报表的方法有很多,我却不得不用我心目中最差的一种方式来实现。先说说我心目中最好的方式:应该是用NPOI这样的开源库来实现。这个开源库可以脱离开Office软件来独立地生成Excel文件(包括.xls格式和.xlsx格式)。其实实现这种功能的开源库很多,为什么用NPOI呢?因为:N原创 2012-02-06 00:34:14 · 6987 阅读 · 16 评论 -
Office PIA:关于Office PIA应用程序的部署
基于Office PIA的应用程序,要想在客户的电脑上顺利地运行起来,可以有这几种办法:方法一:让客户在安装Office的时候顺便安装“.Net可编程性支持”(.Net Programmability Support)看截图,不解释:方法二:让客户安装Office PIA比如说Office 2007的PIA:在微软网站的下载频道搜索“Office 2007原创 2012-03-14 14:19:01 · 15553 阅读 · 4 评论 -
Office PIA:代码示例:生成Excel文件的ExcelApp类
这个类的设计背景是:我需要兼容Excel 2007和Excel 2010的App。我只需要考虑写文件而不用考虑读文件。我只实现了一些必需的功能(可能其中没有涵盖您所需要的功能,但不难扩展)。我只需要输出Excel 97-2003 Workbook (*.xls) 这种格式。此格式对应的枚举值是:XlFileFormat.xlExcel8我引用了Excel 2007的PIA和部署相关的问原创 2012-02-17 18:45:33 · 5107 阅读 · 0 评论 -
在 Visual Studio 2010 中创建 ASP.Net Web Service
很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net Web Service”这种project了,下面跟帖者云云,有的说这是因为微软已经将Web Service整合进WCF,也有的提出一种先将.Net Framework Target设置为3.5的一种很“Tricky”的作法,其实这些说法是不准确的。微软确实用WCF整合了Web Service,但并不等于说微软不准原创 2012-03-08 09:32:26 · 26601 阅读 · 29 评论