c#
敢吹-敢喷-敢随-敢送
自己动手,丰衣足食。
展开
-
c#利用Attribute实现类的转换
背景客户端接入了多家厂商的产品,这时候需要将各家厂商定义的类,统一成我们自己的类。利用反射实现,不必一个一个手动去新建对象赋值。缺陷:目前只能转系统自定义的基本类型,无法转换复杂类型(类中包含类,或者list)1.定义类中我们要转换的对象 [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)] public class EntityAttribute : Attr原创 2020-06-02 11:07:17 · 390 阅读 · 0 评论 -
利用HtmlAgilityPack 获取网页相关内容
相关步骤1.根据url构建 HtmlDocument2.利用xpath 查找想要的内容如果查找内容唯一 用SelecteSingleNode直接定位如果是多个,需要循环遍历代码如下static void Main(string[] args) { string url = " https://mp.weixin.qq.com/s/mWN67V3IOEUWk1sj3Kl1Xg"; Console.WriteLine("待原创 2020-06-02 10:47:32 · 331 阅读 · 1 评论 -
wpf Textblock 文字过长时,中间用省略号代替。
如果是省略号加载最后,可直接用TextTrimming属性,如果不加在最后,想将省略号加在中间,提供两种思路。第一种,利用三个TextBlock(txb、txb1、txb2)来实现,这种显示出来的文字可能有半个字的现象。txb用来显示不过长的文本,txb1和txb2用来显示过长时,文本的前后两部分,txb1和txb2的可见性和 txb相反。三者的样式(txb和txb1要设置TextTr...原创 2018-08-02 14:16:37 · 6564 阅读 · 0 评论 -
PC客户端抓包
借助Fiddler可以实现对手机APP进行抓包,但是无法对PC客户端进行抓包。我们可以利用Proxifier+Fiddler实现PC端的抓包。首先需要配置一下Fiddler(和手机抓包配置方法相同)Proxifier是一个代理工具,我们我们通过Proxifier将所有请求转发到Fiddler上去。(配置文件->代理服务器)这样我们随便打开一个客户端,然后就能从Fiddler上看到发送的请求了...原创 2018-05-30 10:38:30 · 24835 阅读 · 2 评论 -
c# 数组合并
有时候遇到数组合并的问题,通常的做法都是先声明数组长度,然后用copy方法来完成。如下 int[] arrayA = { 1, 2, 3 }; int[] arrayB = { 4, 5, 6 }; int[] arrayC = new int[arrayA.Length + arrayB.Length]; arra转载 2018-02-07 11:22:23 · 17008 阅读 · 0 评论 -
wpf mvvm学习笔记
新的工作需要用到mvvm框架,这几天抽时间系统了解了一下,记录如下。具体用到的可以是三个方面,(数据绑定,命令绑定,消息机制)1.数据绑定和wpf差不多,所有的viewmodel都继承ViewModelBase类,在里面的对象如果要可以绑定,都可以直接用this.RaisePropertyChanged完成即可。2.命令绑定在xaml中的事件命令,都可以在viewmodel层去原创 2017-07-18 20:27:02 · 601 阅读 · 0 评论 -
c# 人脸框截图处理
算法定位到人脸框,我们需要把人脸框截取出来。因为算法可能指定为到人脸,我们需要把整个人头截取出来,故不能简单的按照矩形框截图,需要做下简单处理。同时也要考虑到,扩大后的截图尺寸可能大于原图尺寸,需要判断一下。代码如下 private void clipImage(ref Bitmap image, System.Drawing.Rectangle rect) {原创 2017-05-12 09:29:58 · 2778 阅读 · 2 评论 -
c#监听tomcat服务
tomcat服务总是莫名其妙的挂掉,暂时无法解决,只能写个监听服务,检测tomcat服务,如果停止,就去启动它。刚开始用java写的,发现不太好做成服务,最后用c#开发windows服务。建立windows服务可参考http://www.cnblogs.com/sorex/archive/2012/05/16/2502001.html判断标准1.服务是否停止2.发送原创 2017-04-01 10:27:44 · 2417 阅读 · 1 评论 -
wpf无边框的两种实现方式
有这样一个需求,用wpf做一个无边框窗体,显示网络摄像头图像,这个窗体能够拖动边框来改变大小。1.一般的网络摄像头SDK都需要把控件指针传到sdk中,但wpf整个窗体共用同一指针,所以需要用WindowsFormsHost来引入PictureBox控件 2.如果不用W原创 2017-03-01 11:29:06 · 2740 阅读 · 1 评论 -
c#断点处变量显示表达式计算器中发生内部错误
c#断点变量显示表达式计算器中发生内部错误原创 2017-01-16 17:23:53 · 7195 阅读 · 3 评论 -
c# 模拟post发送 multipart/form-data,json格式数据
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net;using System.IO;using System.Collections.Specialized;原创 2017-01-06 14:44:35 · 18335 阅读 · 1 评论 -
c# Activex控件无法调试
问题:编写了一个Activex控件A,可以正常调试。把它复制到B,修改内容,重新执行,发现调试总会跳到A代码中去。解决方法:手动反注册控件A即可。或者把B换一个GUIDregAsm.exe XXX /u原创 2016-11-28 16:11:23 · 1767 阅读 · 0 评论 -
c# 给字符串的第n个字符赋值
最近看了一道题,字符串翻转。之前这种题用c++完成的,这次要求是c#实现。但问题卡在了,如何给sting的第n个值赋值,想了好久,没有思路。后来看了下java 实现的思路,恍然大悟。把string转为 char[],对char[] 做字符赋值,最后再转回string. public string ReverseString(string s) {转载 2016-08-01 09:37:40 · 3063 阅读 · 0 评论 -
c# ActiveX 手动申请,释放资源
利用c#做ActiveX控件,ActiveX控件的主要工作是利用Afroge控件打开,关闭usb摄像头,并把图像转成base64传出来。遇到些问题总结如下:html调用如下 摄像头打开方法为openCamera(),关闭摄像头closeCamera()1.刚开始是把摄像头开启,写在了Load事件中。原创 2016-06-23 15:50:10 · 1833 阅读 · 0 评论 -
C# ActiveX的打包发布
这两天客户需要用IE去打开USB摄像头,要求兼容IE6以上的版本,最后选择的是ActiveX控件方案。正常开发原创 2016-06-17 17:06:41 · 953 阅读 · 2 评论 -
delegate与event的区别
public delegate void DGCameraOperator(Branch branch); public event DGCameraOperator OpenCamera; public event DGCameraOperator CloseCamera;最近写代码的时候,遇到了委托前面加了个event关键字,很是奇怪。上网搜了一下,得到转载 2016-07-29 12:08:12 · 1304 阅读 · 0 评论 -
winform 下label滚屏实现
最近用c#做一个签到程序的客户端,有一部分功能是会议信息的自动播放功能。参考了一些资料,简单思路如下。1.从数据库中获取需要显示的会议信息2.将会议信息放到一个label控件中3.利用timer实现label的滚动。说一下2,3步的实现。新建一个panel,叫做panelConInfo,将显示会议信息的label(lblConInfo)放入其中。原创 2016-04-25 11:30:39 · 5716 阅读 · 0 评论 -
c#中不同类中内存的释放问题
今天做项目中,用到了一些内存的,大致需求如下:A类中从外界接收数据流,为每个数据流申请内存,每两个数据流处理一次,将加权高的插入到B类中一个静态队列处理。由于A中需要比较,所以从A中建立了一个队列来暂存上一条数据流。在内存释放处,产生了一些问题。最初内存释放策略是,A类中用完了的数据流,就立即释放内存。但是调试的时候,B中总会提示内存为空。原创 2016-03-16 17:29:29 · 590 阅读 · 0 评论