代码改变世界

C#中类型分析中的常见问题 Type

2012-08-16 14:33 by 于为源, 9363 阅读, 5 推荐, 收藏, 编辑
摘要:写代码的时候经常需要分析已有类型的信息例如:分析现有类型自动生成类, 或者为现有的类自动增加一些功能总结了一点点经验以ClassA a; 为例1. 通过typeof(ClassA) 或者 a.GetType() 获取类型信息, 推荐使用typef() 可以避免空引用,而且有的时候不需要构造一个ClassA的实例, typeof(ClassA)的性能一点都不差,不要把它和反射混为一谈,2.对于Type.IsPrimitive来说 很多常见的类型不是原生类型 例如 String DateTime decimal 都不是原生类型 按照MSDN的说明 原生类型只包括:http://msdn.mi... 阅读全文

db4o官方入门教程翻译--06.集合和数组

2012-06-27 00:03 by 于为源, 1133 阅读, 1 推荐, 收藏, 编辑
摘要:.Net方向的关于使用db4o的资料很少,硬着头皮看官方的英文版入门教程。由于英文不太好比较费劲,感觉一定有朋友会遇到相同的问题。所以想将入门教程做一个简单的翻译,水平有限,不太明白的地方可以对照英文版看一下,欢迎您的指正,从第六章随着看有时间就放上一些。欢迎大家交流。 我们将慢慢的向实时的数据处理迈进,首先为我们的车安装传感器并收集他们的输出数据。using System;using System.Text; namespace Db4odoc.Tutorial.F1.Chapter4{ public class SensorReadout { doub... 阅读全文

WPF多线程改变界面元素

2012-04-28 12:18 by 于为源, 2754 阅读, 0 推荐, 收藏, 编辑
摘要:第1种用 Task类. 推荐用这个办法publicvoid 工作_Task(){Dispatcher x = Dispatcher.CurrentDispatcher;//取得当前工作线程//另开线程工作Task<int> 计数 =new Task<int>(() => { return 计数方法(); });计数.ContinueWith(工作完毕后方法);//工作完毕后执行的方法计数.Start();//开始工作}publicvoid 工作完毕后方法(Task<int> 参数){if (参数.IsCompleted) //正常工作完毕{var 结果 阅读全文

Jquery绑定事件累加以及如何防止累加

2012-02-09 11:07 by 于为源, 4252 阅读, 1 推荐, 收藏, 编辑
摘要:Jquery中的bind方法和click等方法绑定事件时对同一个元素绑定的操作时会累加的,比如:$("#btn").click(function(){alert("1");})$("#btn").click(function(){alert("2");})这两句话先后执行了以后点击btn时就会弹出两个提示框。那么有的时候在进行绑定第二次的时候希望的是更新原来的操作而不是追加操作怎么做呢?Jquery中还有个unbind方法先把前面的绑定给卸载掉就行了比如$("#btn").click(funct 阅读全文

关于Dictionary<k,v>绑定DataGridView的问题以及曲线解决办法

2011-11-28 21:26 by 于为源, 2547 阅读, 1 推荐, 收藏, 编辑
摘要:通过查阅资料发现:DataGridView的数据源必须是实现以下接口的任意类型:(1)IList 接口,包括一维数组。(2)IListSource 接口,例如,DataTable和DataSet类。(3)IBindingList 接口,例如,BindingList<T>类。(4)IBindingListView 接口,例如,BindingSource类。MSDN解释而Dictionary的类型定义为:[SerializableAttribute] [ComVisibleAttribute(false)] public class Dictionary<TKey,TValue& 阅读全文

关于静态类和静态方法

2011-11-20 22:35 by 于为源, 1145 阅读, 1 推荐, 收藏, 编辑
摘要:静态类是不能实例化的,即不能new 我们直接使用它的属性与方法,静态类最大的特点就是共享。静态类中的所有成员必须是静态的。静态类可以有静态构造函数,静态构造函数不可继承。静态构造函数可以用于静态类,也可用于非静态类。静态构造函数无访问修饰符、无参数,只有一个 static 标志。静态构造函数不可被直接调用,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且只执行一次。非静态类实例化加载它,才能调用 阅读全文

控制程序集符合CLS规范

2011-11-03 10:18 by 于为源, 320 阅读, 0 推荐, 收藏, 编辑
摘要:使用特性[assembly: CLSCompliant(true)]可以控制程序集符合CLS规范。这个特性只对公开的成员进行检测。可以使用的方式:[assembly: CLSCompliant(true)]加在命名空间前面,声明对整个程序集进行控制[property: CLSCompliant(false)]指定某一属性不受CLS规范[method: CLSCompliant(false)]指定方法不符合CLS规范时可以通过编译[assembly: CLSCompliant(true)] //声明程序集需要符合CLSnamespace TestSolution{ public parti... 阅读全文

如何不让DataGridView自动生成列

2011-03-08 15:52 by 于为源, 476 阅读, 0 推荐, 收藏, 编辑
摘要:如果不想让DataGridView自动生成与数据源对应的列,只需要把属性AutoGenerateColumns设为false即可。需要注意的是在界面设计的属性窗口中是看不到AutoGenerateColumns属性的,需要在代码中设定,比如在窗口的构造函数中设定:dataGridView1.AutoGenerateColumns = false; 阅读全文

jquery的extend和fn.extend

2011-02-23 22:55 by 于为源, 17883 阅读, 8 推荐, 收藏, 编辑
摘要:jQuery为开发插件提拱了两个方法,分别是:jQuery.fn.extend(object);jQuery.extend(object);jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。jQuery.fn.extend(object);给jQuery对象添加方法。fn 是什么东西呢。查看jQuery代码,就不难发现。jQuery.fn = jQuery.prototype = { init: function( selector, context ) {//.... //......};原来 jQuery.fn = jQuery.prototype. 阅读全文

.net中的正则表达式

2011-02-19 22:09 by 于为源, 257 阅读, 0 推荐, 收藏, 编辑
摘要:http://msdn.microsoft.com/zh-cn/library/ms972966.aspx 阅读全文

今日学习心得:关于CodeFile和CodeBehind

2011-02-15 21:52 by 于为源, 7933 阅读, 1 推荐, 收藏, 编辑
摘要:搞不清楚这两个的区别,特地百度了一下。下面这篇挺好就转来了,谢谢原作者.另外根据我的实验当创建项目时指定Web Site时,添加webform会默认在代码中使用CodeFile。而创建项目时指定Web Application时,添加webform会默认在代码中使用CodeBehind。而创建的项目是Web Site时使用vs发布网站,指定属性是使用单页程序集的话,页头的配置属性会被动态修改,去掉CodeFile属性,并制定程序集的友好名。例如会转换为为如下形式:<%@ page language="C#" masterpagefile="~/MasterPage.master" auto 阅读全文

今日学习心得:如何做解决数据绑定控件嵌套问题

2011-02-15 18:09 by 于为源, 363 阅读, 0 推荐, 收藏, 编辑
摘要:今天看视频,收获了一个新的解决方法。如在做有自引用数据的显示的时候有时候会觉得treeview的呈现比较呆板,想要做比较灵活的显示方式的时候,需要使用repeater等来显示,这时就会有repeater的控件的嵌套问题,这是比较难解决的。今天看视频的时候,视频中是这样解决的。1.首先取根元素列表,使用一个repeater----parentrepeater显示2.做一个webusercontrol——a,暴露一个属性parentid,用来设置父级的id,用户控件中a中使用一个repeater显示父id为指定id的子元素的列表。3.将a放在parentrepeater中, 阅读全文

asp.net中DataBinder.Eval的用法总结

2011-02-15 15:56 by 于为源, 460 阅读, 0 推荐, 收藏, 编辑
摘要:很久没用vs2003了,晕用惯Eval("ss"),DataBinder好多都要不熟悉,也忘了什么时候网上转载记下  DataBinder.Eval总结一、DataBinder.Eval的基本格式  在绑定数据时经常会用到这个句程序:<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%>  今天又学到一种,而且微软也说这种方法的效率要比以上两种高。  <%# ((DataRowView)Container.DataItem) 阅读全文

今日学习收获:white-space

2011-02-14 22:18 by 于为源, 250 阅读, 0 推荐, 收藏, 编辑
摘要:设置或检索对象内空格字符的处理方式。空格字符,像换行,空格,TAB,在HTML文档中默认的是被忽略的。当此属性设置为 normal 或者 nowrap 时,你可以使用不换行空格的命名实体 来添加空格,用 br 元素来添加换行。此属性对你使用文档对象模型(DOM)操作的内容的影响与其对IE显示内容的影响一样。此属性作用于块对象。此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为 whiteSpace 。normal : 默认值。默认处理方式。文本自动处理换行。假如抵达容器边界内容会转到下一行 pre : 换行和其他空白字符都将受到保护。这个 阅读全文

今日学习心得:绑定数据控制格式,使用skin

2011-02-14 21:27 by 于为源, 396 阅读, 1 推荐, 收藏, 编辑
摘要:学习的比较粗糙,一直以来绑定数据的时候想控制样式都是使用ToString()然后指定格式的,比如是DateTime格式的就先转换成DateTime再ToString("yyyy-MM-dd")这样做。即ConvertToDateTime(Eval("DateTime")).ToString("yyyy-MM-dd")。今天看老师的视频才知道可以直接使用Eval("DateTime","yyyy-MM-dd")这样去绑定。貌似以前也这么做过,都忘掉了,太猪了,还好今天复习到了。今天的视频中还复习到了使用skin的方法。首先在网站项目中建立一个Theme,比如命名为default,然后在defau 阅读全文