`
文章列表
 效果:     XAML代码: <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition /> </Grid.RowDefinitions> <Grid.Resources> <Style TargetType="Button" x:Key="Bold"> <Setter Prop ...
参考: 《Evenly-sized buttons according to content of largest button》 《Grid.IsSharedSizeScope Attached Property》   效果图:   XAML代码:   <WrapPanel Grid.IsSharedSizeScope="True" Width="Auto"> <Grid ShowGridLines="True" Width="Auto"> ...
前段时间学习了 Robot Framework IDE (RIDE) 的源码,还照着样实现了一个 .Net 平台的RIDE。 有几点感受比较深:   1. 动态和静态语言的区别 学习 RIDE 源码前几乎没有用动态语言编写过上规模的程序。对 RIDE 源码的学习,让我感受到: 1.1 Python 灵活的语言特性可以非常大的加快开发速度。 如:无需定义“接口”,就能将不同类型的数据传进同一个方法(只要参数类型已实现必需的那些属性或方法)。但这也可能会带来不小的问题: 1.2 (Duck Typing) 没有“接口”的约束,就会让其他程序员在扩展原有代码时非常困难 ...
参考: 《How to: Create Custom Configuration Sections Using ConfigurationSection》 《Custom Configuration Sections for Lazy Coders》 《How to: Add CData or Text in a ConfigurationElement》 示例配置文件:   <?xml version="1.0" encoding="utf-8" ?> <configuration> <confi ...
参考:《When to use constants, settings.settings and Resources.resx》 问题:声明一个不常改变,近似“常量”的字符串时,这个字符串应该声明在何处? 一般做法: 字符串永不改变,只在一个类内部使用 声明在这个类内部,和同一个类中的其它常量放一起 字符串永不改变,会被多个类使用 将这类字符串声明在另外一个单独的类中
又被 Python 的字符编码虐了。   平台: Python27,IronPython   场景: 读取包含非 ASCII 字符的 UTF-8 编码的纯文本文件。 将包含非 ASCII 字符的 Unicode 字符串写入纯文本文件。 细节: 打开文件可以用 open ,也可以用 module 'codecs' 下的 'open'(推荐使用)。codecs.open 的功能更强大,可以指定读取解析文件内容时所使用的编码格式。 如果读取的文件
参考: StyleCop vs FxCop C# Code Reviews using StyleCop - Detailed Article How to Use FxCop FxCop Warnings StyleCop Rules 7 Steps to Write Your Own Custom Rule using FxCop FxCop 检测的是编译后的程序集。所以有些只在源代码文件上才能体现出来的问题检测不到。如源码排版布局、注释、某些编译器会做优化的代码等。  
一般情况: 在VS视图模式下设计窗体对象后,其 InitializeComponent 方法体一般如下:   private void InitializeComponent(){ // 创建各控件实例 this.SuspendLayout(); // 设置各控件具体属性 this.ResumeLayout(false); this.PerformLayout(); }     官方解释: Control.SuspendLayout 临时挂起控件的布局逻辑。   Control.ResumeLayout 恢 ...
以 C# 中的 System.Drawing.FontStyle 为例。   如果需要同时有多种效果, 如:“粗体”和“下划线”的效果,可以用按位或(|) FontStyle style = FontStyle.Bold | FontStyle.Underline;   如果需要去除 style 里的某一种效果, 如:去除“下划线”的效果,可以用按位取反(~)和按位与(&) style = style & ~FontStyle.Underline;     原理:   public enum FontStyle { Regular = ...
需要安装 python-ldap Windows上安装64位版本,可从这下载安装包: http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap   网上搜到的方式大多太复杂。 以下是一种比较简单的方式。 但还是比用 C# 复杂“一点”:需要指定用户名所在域。 (《C# 用 LDAP 验证用户名和密码》).     import ldap ldapServer = 'LDAP://localhost' domain = 'd1' userName = 'Name1' domainUserName = domain ...
ldapBaseDnPath = "LDAP://localhost/DC=dc3,DC=dc2,DC=dc1" // 'LDAP' 这4个字母必须大写 userName = "Name1" password = "DoNotUseMe" using (DirectoryEntry de = new DirectoryEntry(ldapBaseDnPath, userName, password)) { try { object connected = de.NativeObject; ...
参考:http://blog.csdn.net/nohackcc/article/details/9770593   1. 用 generateDS 解析 XSD 文件,生成相应的 Python module. 从命令行运行 generateDS.py,生成 Python module     2. 用 上一步生成的 module 解析 XML 文件   import robot_xsd logFile = 'C:\temp\ou ...
环境:Win7 + Robot Framework + IE9 任务:下载网页中链接所指向的文件 参考:File Downloads With Selenium — Mission Impossible?   过程: 阶段一: 概述:用 MS UI Automation 操作浏览器控件。 MS UI Automation + NRobotRemote + Selenium2Library + Robot Fra ...
使用场景:记录异常(错误)信息,方便定位调试。   配置: 1. app.config   <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <appSetting ...
假设在C#中有一个IronPython的对象 ‘obj1’。 现在要得到该对象的类名,不是在C#中的类名,而是它在IronPython中的类名。 (如果要得到在C#中的类名,直接调用对象的GetType()方法,就能获得对应的Type)   dynamic obj1; Microsoft.Scripting.Hosting.ScriptEngine engine = IronPython.Hosting.Python.CreateEngine(); Microsoft.Scripting.Hosting.ObjectOperations operations = engine ...
Global site tag (gtag.js) - Google Analytics