摘要:
动态添加新行 //方法一: int index = this.dataGridView1.Rows.Add(); this.dataGridView1.Rows[index].Cells[0].Value = "第1列单元格"; this.dataGridView1.Rows[index].Cell 阅读全文
摘要:
一、C#6中新增的功能 get 只读属性 简洁的语法来创建不可变类型,仅有get访问器: public string FirstName { get; } public string LastName { get; } 当然很多时候,我们使用的是私有化来设置set。 然后通过构造函数来赋值: pub 阅读全文
摘要:
##一、背景 假如给定一个字符串表达式"-12 * ( - 2.2 + 7.7 ) - 44 * 2",让你计算结果,熟悉JavaScript的都知道有个Eval函数可以直接进行计算,而C#中却没有这个函数,下面提供三种实现方式 ##二、代码 public class Class1 { #regio 阅读全文
摘要:
##背景 在WEB开发中,采用前后端分离,要求对用户数据权限进行控制: 1.上级组织可查看下级组织的数据,同级别不能相互查看; 2.可设置仅查看自己创建的数据; 在数据库结构设计时,通常将组织机构设计为树形结构,表结构“Id,Name,ParentId。。。”, Id Name ParentId L 阅读全文
摘要:
最近想给我的框架加一种功能,就是比如给一个方法加一个事务的特性Attribute,那这个方法就会启用事务处理。给一个方法加一个缓存特性,那这个方法就会进行缓存。这个也是网上说的面向切面编程AOP。 AOP的概念也很好理解,跟中间件差不多,说白了,就是我可以任意地在方法的前面或后面添加代码,这很适合用 阅读全文
摘要:
###一、依赖包 ###二、定义一个简单的缓存接口 /// <summary> /// 简单的缓存接口,只有查询和添加,以后会进行扩展 /// </summary> public interface ICaching { object Get(string cacheKey); void Set(s 阅读全文
摘要:
作为一名Web开发人员,我们经常需要与用户的帐号系统打交道,而这其中最大的挑战就是如何保护用户的密码。经常会看到用户账户数据库频繁被黑,所以我们必须采取一些措施来保护用户密码,以免导致不必要的数据泄露。保护密码的最好办法是使用加盐密码哈希( salted password hashing)。 重要警 阅读全文
摘要:
定制模块行为 1. Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一 阅读全文
摘要:
核心代码,线程安全 class SingletonFactory<T> where T : new() { private static T uniqueInstance; private static readonly object locker = new object(); public st 阅读全文
摘要:
一、C 调用JS函数 1.JS代码 2.C 代码调用 二、JS调用C 函数 1.C 函数 2.JS里的调用 阅读全文