c# 其他技术学习
1.注册表编辑
为了方便对注册表进行操作,.NET提供了Registry类和RegistryKey类
2.API函数的应用
(1)自定义特性的代码:在类、属性、方法的上方加上“[]”的代码
(2)有个动态链接库
GDI32.dll:用于设备输出的图形设备接口(GDI)方法
Kernel32.dll:用于内存管理和资源处理的低级别系统方法
User32.dll:用于消息处理、计时器、菜单和通信的Windows管理方法
3.反射的应用
使用反射操作程序集分为如下两部:
(1)加载反射的程序集
(2)使用Type类的方法调用或枚举程序集中的类型
4.C#调用C++
有三种方法:(1)P/Invoke(只对C APIs可用)(2)COM objects(3)C++/CLI
5.调用外部程序
- Process p = new Process();
- p.StartInfo.FileName = "cmd.exe";
- p.StartInfo.Arguments = "/c dir *.cs";
- p.StartInfo.UseShellExecute = false;// 不使用系统外壳程序启动,重定向时些值必须为false
- p.StartInfo.RedirectStandardOutput = true;
- p.StartInfo.CreateNoWindow = true;// 不创建窗口
- p.Start();
- string output = p.StandardOutput.ReadToEnd();
- p.WaitForExit();
- StringCollection values = new StringCollection();
- var proc = new Process
- {
- StartInfo = new ProcessStartInfo
- {
- FileName = "openfiles.exe",
- Arguments = "/query /FO CSV /v",
- UseShellExecute = false,
- RedirectStandardOutput = true,
- RedirectStandardError = true,
- CreateNoWindow = false
- }
- };
- proc.Start();
- proc.OutputDataReceived += (s,e) => {
- lock (values)
- {
- values.Add(e.Data);
- }
- };
- proc.ErrorDataReceived += (s,e) => {
- lock (values)
- {
- values.Add("! > " + e.Data);
- }
- };
- proc.BeginErrorReadLine();
- proc.BeginOutputReadLine();
- proc.WaitForExit();
- foreach (string sline in values)
- MessageBox.Show(sline);
6.获取当前日期时间
http://blog.163.com/ljq086@126/blog/static/549639712010112921658843/
7.dotNet插件系统开发模式
什么叫插件从大一点的概念讲就是我们开发的软件是由很小的模块组成,每一块都能成功的装卸,使我们的软件成为一个有机体,在发生重大事故、改良优化
等等的时候,我们不需要重新编译我们的系统就能很方便的进行升级替换进行使用;这样的开发模式就是插件系统开发模式。一个大型的系统,不能简简单单的用三
层或者MVC来概括,我们要站在一个更高的角度去思考程序,每当我们开始一个新系统的架构设计时,我们不能总是保守的或是“封建”式的使用以往的思想模
式,是否深思熟虑过这些开始模式在我们当前系统中是否可用或者说是否能发挥模式的最大效果。在开始执行前我们需要读取插件所在的路径然后进行插件对象的全
路径保存,以便在后面运行时方便加载;到了Run开始真正的执行我们的应用程序了,我们需要根据插件的类型进行加载,插件必须具备类型的原则,用在什么地
方的,好比汽车的零部件,我们有明确的规定,这里的实现我们可以用接口进行标识;当程序开始结束的时候,我们需要释放各个插件所占用的系统资源。
参考:http://wangqingpei557.blog.51cto.com/1009349/584806
8.Encoding
c# 其他技术学习的更多相关文章
- IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章
前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想 ...
- IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)
IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...
- EMV技术学习和研究(转)
刚开始学习EMV&PBOC,磕磕碰碰,感谢xuture的<EMV技术学习和研究>给了很大帮助,让我少走了很多弯路,也感谢广俊.surge.艾零.小SO.Spinach.龙行天下的帮 ...
- Java多线程技术学习笔记(二)
目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和w ...
- 【记录一次windows技术学习】使用笔记本DOS命令搭建WLAN热点
[记录一次windows技术学习]使用笔记本DOS命令搭建WLAN热点 时间:2017-10-14 22:36:13 撰写者:AK末影人 [转发请注明出处] --------------------- ...
- 绝版珍珍藏:web前端技术学习指南
绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...
- Android so注入(inject)和Hook技术学习(三)——Got表hook之导出表hook
前文介绍了导入表hook,现在来说下导出表的hook.导出表的hook的流程如下.1.获取动态库基值 void* get_module_base(pid_t pid, const char* modu ...
- 亲爱的,我是一条Linux运维技术学习路径呀。
根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么.在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗.总而言之,干什么都是好的:但要干出个样子来,这才是 ...
- Java技术学习路线
转载 作者:David 链接:https://www.zhihu.com/question/25255189/answer/86898400来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- C语言主要做哪些方面的开发---一个来自“IT技术学习”微信群的问题及答复
近期,在"IT技术学习"微信群中,有同学问了这样一个问题:C语言主要做哪些方面的开发?在这篇文章中,我想结合自身的经验,对这个问题进行下解答. C语言是计算机及其相关专业(如通信. ...
随机推荐
- 链表的实现(Java语言描述)
代码如下: public interface ListInterface<T> { public T getElem(int i); public boolean insertElem(i ...
- [git]git忽略文件
可以通过创建~/.gitignore_global并添加到git全局配置以减少每层目录的规则重复定义.使用命令git config --global core.excludesfile ~/.giti ...
- ASP.NET MVC和WebForm 轻松实现前端和后端的双重验证 jquery.validate+ValidationSugar
上次不足的改进 可能上一个贴子给大家带来很多误解,所以我这次把DEMO完善了两个版本 [ASP.NET WEBFROM]和[ ASP.NET MVC] 修改了一些BUG,并且修改了一些细了 在上个贴子 ...
- [JS] JavaScript框架(2) D3
D3(Data-Driven Documents)是一个用于网页作图.生成互动图形的JavaScript函数库. 官网:http://d3js.org/ 下载: cdn:<script src= ...
- Java NIO中的读和写
一.概述 读和写是I/O的基本过程.从一个通道中读取只需创建一个缓冲区,然后让通道将数据读到这个缓冲区.写入的过程是创建一个缓冲区,用数据填充它,然后让通道用这些数据来执行写入操作. 二.从文件中读取 ...
- Python入门笔记(26):Python执行环境
一.python特定的执行环境 在当前脚本继续进行 创建和管理子进程 执行外部命令或程序 执行需要输入的命令 通过网络来调用命令 执行命令来创建需要处理的输出 动态生成Python语句 导入Pytho ...
- 在uwp仿制WPF的Window
移植WPF软件到uwp时碰到用作对话框的Window有多种处理选择.我个人认为最省事的是用ContentDialog模拟Window. 比如你想把上面这个WPF窗体弄到uwp里面去 1.修改Conte ...
- SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用
sql一张表数据导入另一张表 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; 2.比如要将 arti ...
- JPA(4)表表关联关系
在我们做数据库设计的时候,最烦的就是各种表之间的关联关系了,关联关系有:一对多,多对一,一对一,其中还有单向和双向的区别. 1.双向一对多及多对一映射:既然是双向,那么就是同一类的了:双向一对多关系中 ...
- [CLK Framework] CLK.Threading.PortableTimer - 跨平台的Timer类别
[CLK Framework] CLK.Threading.PortableTimer - 跨平台的Timer类别 问题情景 开发应用程式的时候,免不了需要加入一些定时执行的设计,例如说:定时更新画面 ...