自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (1)
  • 收藏
  • 关注

原创 C#,C++ 混编

C#.C++

2022-12-15 16:19:29 306 1

原创 net hook 研究

要涉及一些反汇编的知识,作者也不是很懂,可以提供一些思路 public class Test { public void Test1() { Console.WriteLine("test1"); } } class Program { static void Main(string[] args) { var obj = new Te...

2020-11-18 11:28:30 353

原创 C++ hook

BOOL SetHook(HMODULE hMod);FARPROC g_orgProc;int WINAPI MyMessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCation, UINT uType){ return ((PFNMESSAGEBOX)g_orgProc)(hWnd, "新函数", "HookDemo", uType);}...

2020-01-20 18:08:32 606

原创 Newtonsoft.Json 自定义序列化字段

class Program { static void Main(string[] args) { var m = new JsonModel() { Id = 0, Name = "nnnn" }; ...

2019-07-01 15:49:54 2978

原创 HttpWebRequest&&multipart/form-data

class Program { static void Main(string[] args) { HttpWebRequest request = WebRequest.CreateHttp("********"); request.Method = WebRequestMethods.Http.P...

2019-06-03 16:59:19 1540

原创 ef 查询相关数据

用到的类: public class DefaultContext : DbContext { private static string _conStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\code\gits\EntityFramework6\MultiT...

2019-02-21 15:17:00 360

原创 entity framework 迁移

1.打开 “程序包管理器控制台”2.设置 “程序包管理器控制台” 的默认项目为当前项目3.输入Enable-Migrations  再回车;项目中会增加一个Migrations文件夹里假设我们现在要在    [Table("persons")]    public class Person    {        [Column("person_id")]        p...

2019-02-15 16:08:40 293

原创 entity framework 自定义映射

接上一篇方法一:使用Attribute class Program { static void Main(string[] args) { HelloDbContext context = new HelloDbContext(); var p1 = new Person() { Id = 1,...

2019-02-15 15:27:32 485

原创 Hello entity framework

1.新建控制台程序2.NuGet添加entity framework3.添加数据库HelloEFDb.mdf4.编码 class Program { static void Main(string[] args) { HelloDbContext context = new HelloDbContext();...

2019-02-15 15:06:00 164

原创 Dapper里使用Attribute自定义映射关系

目的将book表中的id,name,price 映射到Book类中的Id1,Name1,Price1 class Program { static SQLiteConnection conn; static string dbStr = "test.db"; static void Main(string[] ar...

2019-02-11 17:26:15 3030

原创 orm 里使用Emit

比较一下Emit的赋值,反射赋值和直接赋值的效率namespace Assignment{ class Program { static SQLiteConnection conn; static string dbStr = "test.db"; static void Main(string[] args) ...

2019-01-31 16:42:12 406

原创 Emit 循环

目的是用Emit 生成一个和TargetMethod(代码如下) 一样的方法实现 class Program { static void Main(string[] args) { var method = GetTargetMethod(); method(); C...

2019-01-30 15:53:26 268

原创 Emit DynamicMethod

使用Emit动态生成一个计算两个int和的方法,int Add(int i,int j){ return i + j;}实现如下: class Program { static void Main(string[] args) { var func = GetAdd(); Co...

2019-01-29 16:19:11 769

原创 Hello Emit

相关类如下,目标是用Emit生成一个Writer类,并返回一个IWriter接口,使用接口调用 public interface IWriter { void Write(string msg, string msg1); } public class Writer: IWriter { public void Write(string msg,string msg1)...

2019-01-25 16:41:21 184

原创 研究下WPF 数据binding 原理

测试相关类    public class HostTest     {        public string Value{get; set;}        public string Value1 {get ;set ;}    } public class Test { private string _value = null; ...

2019-01-23 16:36:56 1102

原创 MyBatis增删查改

1.创建控制台程序。2.导入mysql和mybatis的jar包3.创建mybatis配置文件 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org...

2018-03-08 22:24:57 397

原创 MyBatis配置

首先用创建一个java控制台程序,然后创建一个引入mybatis和MySql的jar包,再创建一个mybatis的配置文件如mybatis.xml文件 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"...

2018-03-08 20:43:45 279

原创 Revit开发IExternalCommandAvailability的使用

在Revil里大部分命令在没有打开文档的时候是禁用的,有的在没有打开文档也是可以使用的。而又一些在平面视图是禁用的如 标高,有的在3D视图里是禁用的 如 标高和轴网,而这些是否可用我们是可以自己控制的在PushButton的属性里有一个AvailabilityClassName属性,通过这个就可实现命令在什么时候可用,禁用的控制。这个属性是个string,它需要设置为一个实现了IE

2017-09-30 14:04:29 1215 1

原创 Revit开发ImageView

在Revit里可以创建渲染,其实这个视图里显示的是光栅图像里的图片。这个视图对应的类是ImageView,如果要创建一个这样的视图,可以用这个类的Create静态方法,        public static ImageView Create(Document document, string imageFileName);下面是一个导出当前视图图像,并创建一个Image

2017-09-26 18:21:22 757

原创 Revit开发BuildingEnvelopeAnalyzer

Revit API 里有个BuildingEnvelopeAnalyzer类,帮助文档里对它描述如下:This class uses a combination of ray-casting and flood-fill algorithms in order to find the building elements that are exposed to the outside of th

2017-09-26 18:12:19 592

原创 C# 动态生成程序集

假设有一个ITest接口,它有两个实现分别是TestClass1,和TestClass2,这时候如果需要一个TestClass4类但是现有程序里又没有这个类,就可以在运行时生成一个这样的类这个应该是可以用来实现AOP,    public interface ITest    {        void Run();    }    public class T

2017-09-26 17:58:14 1398

原创 C# 初探UI Automation

最近研究自动化测试,看了一下UI Automation的微软例子,表示太老了,遇到各种问题,UI Spy 好像已经被放弃了,可以用inspect.exe来代替,win10 的路径为:"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\inspect.exe"这个用来查询automationId,官网是以计算器例子,下面是在win10 修改后

2017-06-18 16:45:44 11123 2

原创 C# 反射性能

C# 创建对象可以直接用new,也可以用反射,下面测试一下反射创建的性能如何,这里可以比较一下,构造方法带参数和不带参数的区别。先创建一个测试类,分为构造函数带参数和不带参数,两种情况来测试    public class Test    {        public string Name { get; set; }        public string Id {

2017-06-12 21:22:54 2582

原创 WPF DataContent内存释放问题

最近发现一个有趣的事,通过Window.dataContent来设置绑定以后,窗体关闭以后 ViewModel 并没有释放,再次调用改窗体后,前一个ViewModel才释放,或者是程序关闭以后才释放 ,搞不懂。。。如果要马上释放ViewModel可以在Window关闭以后将DataContent 设置为null ,这样ViewModel是可以释放的下面是测试代码,大神请指教!

2017-06-09 22:37:58 1470

原创 WPF 给控件添加可以绑定的命令

在WPF里的Button有一个可以绑定的Command的属性,只要绑定好这个属性以后,只要你ClickButton就会运行这个命令,但这时我们可以考虑一下这个问题,为什么是Click来触发呢?为什么不是右键单击来触发呢,下面研究一下,怎么能写一个右键单机能触发的命令:首先现有的Button肯定是不行了,所以自己写一个TButton ,它继承自Button    public cla

2017-05-29 20:31:50 2801 2

原创 WPF 依赖属性

WPF 的ListBox 可以绑定SelectedItem但是不可以绑定SelectedItems不能绑定,这就有点烦了。所以可以自定义一个依赖属性来绑定:首先定义个TListBox类来代替ListBox    public class TListBox:ListBox    {        public static readonly DependencyProperty

2017-05-29 13:34:30 736

原创 Revit开发之管段

在API里管段对应了一个PipeSegment类,要获取可以用Class过滤去来过滤如果要创建管段可以使用PipeSegment的Create方法来创建,这是个静态方法public static PipeSegment Create( Document ADocument, ElementId MaterialId, ElementId ScheduleId, ICollect

2017-05-28 14:56:26 1736

原创 C# 泛型弱事件管理器

,net 4.5 为弱事件提供了新的实现。泛型类 WeakEventManager,它派生自基类WeakEventManager,大大的简化了弱事件的处理        static void Main(string[] args)        {            CarDealer dealer = new CarDealer();            Consum

2017-05-27 21:03:47 1130

原创 Revit开发之管道的布管系统配置

Revit的管道,在编辑类型里有一个布管系统配置,里面有一些自动创建管件的设置。这里的类容可以通过PipeType.RoutingPreferenceManager来设置和获取,下面写个获取管段和管段的最小尺寸和最大尺寸的例子,其他类型同理。            Pipe p = doc.PickObject();//选择一个管道,这是作者写的扩展函数。            P

2017-05-27 13:50:10 5650

原创 C# 弱事件

先看一个普通事件例子:    class Program    {        static void Main(string[] args)        {            CarDealer dealer = new CarDealer();            Consumer micheal = new Consumer("Micheal");   

2017-05-26 23:10:27 748

原创 ICommand接口

// 摘要:    //     Defines a command.    public interface ICommand    {        //        // 摘要:        //     Occurs when changes occur that affect whether or not the command should execute.

2017-05-26 20:44:46 1281

原创 WPF 模板选择器

选择器:    public class MyTemplateSelector:DataTemplateSelector    {        public DataTemplate DefaultTemplate        {            get;            set;        }        public DataTempl

2017-05-25 22:08:14 1611

原创 C# 使用弱引用释放静态资源

class Program    {        static void Main(string[] args)        {            TestClass.Defalut.i = 5;            //输出5            Console.WriteLine(TestClass.Defalut.i);            GC.C

2017-05-25 14:04:25 1815

原创 WPF使用其他dll里的样式

在WPF里可以将Style写到其他dll里使用的时候可以在Window的Resouces里写:                也可以这样写:

2017-05-22 21:29:55 3487

原创 Revit开发区分基本墙,幕墙,叠层墙

在Revit里墙有3个族,但是都是对应一个Wall类型,如果要区分这3种墙可以用WallType  的Kind属性这个属性是一个枚举包括以下类容:Member nameDescriptionUnknownThe basic type is not known.BasicA standard wall.CurtainA

2017-05-18 14:57:17 4753 1

原创 MVVMLight的Messenger

MvvmLight里的Messenger的注册方法有一个是这样的:        //        // 摘要:        //     Registers a recipient for a type of message TMessage. The action parameter will        //     be executed when a corresp

2017-05-14 12:32:52 677

原创 C# 通过MVVMLight探索IOC

使用MVVMlight创建一个项目以后,MainViewModel的构造函数是这样的:        public MainViewModel(IDataService dataService)        {            _dataService = dataService;            _dataService.GetData(           

2017-05-13 14:48:31 2599

原创 C# udp小程序

学习udp,写个小聊天程序,供以后查看使用了MVVMLight    ///     /// This class contains properties that the main View can data bind to.    ///     /// See http://www.mvvmlight.net    ///     ///     public

2017-05-07 17:20:37 475

原创 WPF 设置快捷键

在WPF里可以通过InputBindings来设置快捷键        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schem

2017-05-07 14:35:14 1864

原创 C# 读取config文件

static void Main(string[] args)        {           //读取当前exe的config:App.config//读取appSettings节点里的数据            NameValueCollection nameValues = ConfigurationManager.AppSettings;            s

2017-05-04 17:20:08 3289

AddinManager安装包

AddIn Manager 安装包2015-2017

2016-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除