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

处理字符编码。

 

最后欢迎大家访问我的个人网站:1024s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值