首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编写你专属 MSBuild C# 代码生成器:保存文件自动实时生成你代码

而本文是在此基础上更进一步,可以让生成代码变成实时;更准确说,是保存文件即生成代码,而无需完整编译一次项目。...一天,头像全白昵称空格“wuweilai”童鞋问我为什么 GRPC NuGet 包能自动 .proto 文件保存更新生成代码,怎么才能做到像它那样。...我们即将实现是:保存 Test.txt 文件,会立即执行我们编译流程,这样,我们便能基于 Test.txt 来实时生成一些代码。...如果你想复制到你项目里,记得去掉行首所有 + 号。 等你复制到项目里之后,试着 Test.txt 文件里面随便写点什么,然后保存。...对于已知项(Item)来说,Generator 属性是 MSBuild 编译一个已知元数据(Metadata),其作用为当此文件改变,会执行一个指定 Target 我们将其指定为 MSBuild

32210

“码码”再也不用担心我代码被反编译了!

1、更名,将私有类,私有成员、方法体内部变量名改名,改成a,b,c等等,甚至1,2,3(代码中不允许不等于成果物中不允许)。...然后打开进行查看 另外:此也可以按照自己要求.pro文件中进行添加,修改或者删除一些属性配置。以便达到想要结果。...建议将.pro文件保存到本地,如果更新的话,另存为一个.pro 8、进入【执行】选项 加载.pro配置文件,点击【执行!】...测试登录、各模块与Action相关功能是否能正常运行。需要详细测试。 五、问题汇总 使用progurad进行混淆和测试遇到一些问题,总结了一下。...解决方案:调整混淆中【保留】选项 问题3:执行时报错,执行失败,提示缺少类库。 解决方案:【类库】添加工程必须lib,其中JDK下面的rt.jar(java基础类包)必不可少。

2.9K60
您找到你想要的搜索结果了吗?
是的
没有找到

SVN使用指南【工作培训版】

安装完毕后,“资源管理器”里点击右键,会有如下菜单出现: ? 目录结构 ? SVN使用流程 ? SVN使用图标说明 ? 一个检出工作副本使用绿色对勾做重载。...SVN 什么是冲突 团队协同工作,当多位团队成员同时修改同一个文件,造成本地文件与SVN系统中文件版本不一致,而导致文件无法提交情况 SVN 冲突产生原因 当团队协同工作时候,多位团队成员同时操作一个文件...当团队成员B操作完成并对文件进行提交操作,就会产生冲突 SVN 冲突提示页面 提交产出冲突 ? SVN 冲突解决方案 遇到冲突,需要update该文件。...SVN 关于冲突建议 修改文件之前,先进行一次update操作 修改完成后,及时commit,不要在本地停留过长时间 多位团队成员协作,尽量修改自己撰写部分,尽量不要修改不属于自己撰写部分...SVN Eclipse下使用图标 受SVN控制文件被标记为小黄桶; ? 修改过文件都被标记上一个黑色星号; ? 未受版本控制文件被标记为问号; ?

2.1K50

Java第二周学习

区别 成员变量 局部变量 作用 属性描述,描述当前类拥有哪些属性 方法运行过程中保存必要数据 位置 成员变量定义class大括号以内,其他大括号之外 方法大括号或者代码块大括号以内 初始值...作用域 成员变量存储于类对象中,在内存堆区,哪里持有当前类对象空间首地址,作用域就在哪里 有且只在当前大括号以内 生存期 成员变量生存期是随着类对象创建而开始,当对象被JVMGC销毁成员变量生存期终止...所有的成员变量全部私有化 ==> private 2. 必须提供一个无参数构造方法 3....类定义成员变量数据类型 11.2 成员变量数据类型为自定义类型 汽车 发动机 轮胎 class Car 这里需要数据类型是我们自定义复合数据类型,自定义类!!!...子类继承父类之后,可以使用父类私有成员变量成员方法 【非私有成员】 2. 子类不能继承得到父类私有化内容。 13.2 继承问题 13.2.1 父类构造方法被调用 ?

56720

【实践】GitLab入门指导使用教程

三、用户管理(管理员使用,非管理员跳过此步骤) 1.新建用户 2.编辑和删除用户 四、组管理(管理员使用,非管理员跳过此步骤) 1.新建组 2.编辑或删除组 3.添加组成员 4.修改成员权限...组详情 2.编辑或删除组 在此页面可以编辑和删除组。 3.添加组成员 添加组用户并赋予相应权限。 4.修改成员权限(owner用户操作) 点击左侧Groups,然后点击当然组。...Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建分支、推送不受保护分支、移除不受保护分支 、创建标签、编写wiki、增加团队成员、推送受保护分支、...文件 界面上输入.classpath .settings .project 保存。...10)clone GitLab中已有项目 为演示,先删除刚刚在eclipse里创建GitPro1项目 客户端Eclipse上,打开git Repositories视图。

18K40

JAVA入门2 原

例如,我们类中定义了一个 静态变量 hobby ,操作代码如下所示: ? 运行结果: ? 要注意哦:静态成员属于整个类,当系统第一次使用该类,就会为其分配内存空间直到该类被卸载才会进行资源回收!...如果希望静态方法中调用非静态变量,可以通过创建类对象,然后通过对象来访问非静态变量。如: ? 2、 普通成员方法中,则可以直接访问同类非静态变量和静态变量,如下所示: ?...需要特别注意:静态初始化块只类加载执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通成员变量。 我们来看一段代码: ? 运行结果: ?...由于静态初始化块只类加载执行一次,所以当再次创建对象 hello2 并未执行静态初始化块。 二、封装 2.1面向对象特性-封装 ? ? ? ? 设为私有属性 ? 发现不能调用 ?...即使是两个对象属性值一样,也是不同地址 类似于==判断 ? ? eclipse提供了生成equals方法 ? ? 删除hash方法 ? 分析 ? ? ? 四、多态 4.1java中多态 ?

37310

Java基础笔记整理---【08】面向对象程序设计-包、继承、访问权限

: 添加包规则:公司域名倒写 + 项目的名字 + 功能名字 注意:不能使用以java.* 开头定义包名 5.Eclipse 快捷键: 1.CTRL + D 删除整行代码 2.CTRL...语法如下:class extends 当子类成员变量和父类中成员变量同名,父类成员变量不能被子类继承(即被子类成员变量覆盖),此时称子类成员变量隐藏了父类成员变量。...7.访问级别: Java中共有4种访问级别,按访问权限由高到低为:public(公有的)、protected(受保护)、友好(没有任何访问权限关键字修饰)和private(私有的) 8.关键字...3.this实例方法中通常被省略,除非实例方法中包含与成员变量同名局部变量,访问成员变量需要使用this。...9.super 关键字: 如果子类继承父类,出现了成员变量隐藏和方法重写,此时子类对象对应成员变量和方法都是子类中重新定义,如果需要在子类中调用父类被隐藏成员变量或者被重写方法,可以使用

32110

Eclipse快捷键大全 记得有个刚工作有个同事跟我这么说,不管代码敲得怎么样,快捷键必须用6Eclipse常用快捷键

然后,“File”→“Export”,弹出窗口中选择“Perferences”,点击“下一步”。 6. 选择导出文件路径,本人导出到桌面,输入“test”作为文件名,点击“保存”。 7....桌面找到刚在保存文件“test.epf”,右键选择“用记事本打开”。 8. 可以看到很多配置MyEclipse 6.0.1信息 9....今天Java IDE提供源码处理功能,Eclipse也是一样。现在,变量和方法重命名变得十分简单,你会习惯于每次出现更好替代名称时候都做一次重命名。...我更喜欢我源码包和文件系统视图,Eclipse中叫做分级布局(Hierarchical Layout)。...Ctrl+Shift+F格式化文件Format Document。 (11)Ctrl+S保存当前文件。Ctrl+Shift+S保存所有未保存文件

1.7K32

java编码规范

枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 说明:枚举其实就是特殊常量类,且构造方法被默认强制是私有。...源代码文件文件内容中最顶层Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件编码格式统一为UTF-8。 12....【推荐】setter 方法中,参数名称与类成员变量名称一致,this.成员名 = 参数名。getter/setter 方法中,不要增加业务逻辑,增加排查问题难度。我曾天真的认为这种黑魔法很酷。...思考:如果是一个 private 方法,想删除删除,可是一个 public service 方法,或者一个 public 成员变量删除一下,不得手心冒点汗吗?...变量像自己小孩,尽量自己视线内,变量作用域太大,如果无限制到处跑,那么你会担心。 ---- 四. 集合操作 1.

2.6K10

java编码规范

枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 说明:枚举其实就是特殊常量类,且构造方法被默认强制是私有。...源代码文件文件内容中最顶层Java类命名,而且大小写敏感,文件扩展名为 .java,同时,文件编码格式统一为UTF-8。 12....【推荐】setter 方法中,参数名称与类成员变量名称一致,this.成员名 = 参数名。getter/setter 方法中,不要增加业务逻辑,增加排查问题难度。我曾天真的认为这种黑魔法很酷。...思考:如果是一个 private 方法,想删除删除,可是一个 public service 方法,或者一个 public 成员变量删除一下,不得手心冒点汗吗?...变量像自己小孩,尽量自己视线内,变量作用域太大,如果无限制到处跑,那么你会担心。 ---- 四. 集合操作 1.

2.5K20

Eclipse基础安装与简单使用

转至上一个成员 Ctrl+Shift+↑ Java编辑器 转至下一个成员 Ctrl+Shift+↓ 文本编辑器 转至行 Ctrl+L # 搜索 # 作用域 功能 快捷键 全局 出现在文件中...文本编辑器 改写切换 Insert 文本编辑器 上滚行 Ctrl+↑ 文本编辑器 下滚行 Ctrl+↓ # 文件 # 作用域 功能 快捷键 全局 保存 Ctrl+S 全局 打印 Ctrl...WeiyiGeek. 2) IDE 设置注释 描述:我们可以设置注释也可以进行删除注释,选择你不想要内容通过右边Edit编辑(请只删除注释部分,不是注释部分不要删除)。...答: Java 中要保证封装性,需要将成员变量私有化,对外提供 set/get 方法来访问,虽然现在 IDE,像 eclipse,IDEA都提供了快捷键,来生成 set/get 方法,但是在做项目的时候...,一个 JavaBean 往往会有很多成员变量,一个变量对应两个方法,如果有10几个成员变量,那么会对应20多个方法,也许还要去写构造器、equals 等方法,而且需要维护。

52020

Eclipse使用入门教程

Ctrl + 鼠标左键(类、方法、属性变量名词):定位跟踪某变量声明或定义位置 Ctrl + S:保存当前文件 Ctrl + X:剪切 Ctrl + C:复制 Ctrl + V:粘贴 Ctrl...工作区目录会有一个名为.metadata目录来保存所有设置信息。Eclipse启动时候会让你选择要使用工作区。如果输入工作区目录不存在,Eclipse会自动创建它。...可以通过Add…按钮来添加JRE定义(弹出对话框中选择Browse…按钮然后选中JDK安装目录,之后点击OK即可),Edit…按钮来修改JRE定义,Remove按钮来删除JRE定义,选中不同...如果发现加入文件没有显示Eclipse中,可以Package Explorer视图中选择上下文菜单中Refresh或者按下快捷键F5就可以看到了。...最后呢,导入文件就在目录下工作运行了(即WorkSpace下了),eclipse中对文件修改就不会改动到别的目录下相同文件了。

1.4K20

lombok问题汇总

lombok下载地址:https://projectlombok.org/downloads/lombok.jar 方式二 通过jar包方式来安装,实际上只是eclipse配置文件eclipse.ini...Eclipse里@Slf4j和@Data无效 Eclipse安装好lombok之后,虽然能够正常识别@Slf4j注解生成log变量,但@Data注解依然无效:使用到了pojo类私有变量,依然会提示说缺少...折腾了好久,才发现原来是因为Eclipse自动给我pojo类私有变量加上final修饰符,导致setter/getter方法注入失败了。...把pojo类私有变量前边final去掉后,@Data终于生效了。...之所以会自动给变量加上final修饰符,是因为我设置了Save Action,Eclipse会自动保存代码时候自动私有变量、局部变量前加上final修饰符,这个是公司制定代码编程规范。

70520

Eclipse使用入门教程

Ctrl + 鼠标左键(类、方法、属性变量名词):定位跟踪某变量声明或定义位置 Ctrl + S:保存当前文件 Ctrl + X:剪切 Ctrl + C:复制 Ctrl + V:粘贴 Ctrl +...工作区目录会有一个名为.metadata目录来保存所有设置信息。Eclipse启动时候会让你选择要使用工作区。如果输入工作区目录不存在,Eclipse会自动创建它。...可以通过Add…按钮来添加JRE定义(弹出对话框中选择Browse…按钮然后选中JDK安装目录,之后点击OK即可),Edit…按钮来修改JRE定义,Remove按钮来删除JRE定义,选中不同...如果发现加入文件没有显示Eclipse中,可以Package Explorer视图中选择上下文菜单中Refresh或者按下快捷键F5就可以看到了。...最后呢,导入文件就在目录下工作运行了(即WorkSpace下了),eclipse中对文件修改就不会改动到别的目录下相同文件了。

1.3K00

【C++】特殊类设计

要设计一个只能在堆上创建类,一共有两种方式: 将构造函数声明为私有,同时删除拷贝构造函数,然后提供一个静态成员函数,该静态成员函数中完成堆对象创建 通过将构造函数声明为私有,我们可以防止类外部构造对象...;而如果我们将析构函数私有,那么定义此类对象编译器会自动报错。...需要注意是,类静态成员是属于整个类,并且静态成员变量只能在类内声明,类外定义,定义需要指明类域;同时,由于我们是通过 GetInstance 接口来获取这个唯一对象,所以 GetInstance...private: //类其他成员变量 -- 此类要管理数据 }; Singleton* Singleton::_psins = nullptr; //单例对象指针定义 由于懒汉模式是第一次使用单例对象才去创建单例对象...需要注意是,有时我们需要在回收资源之前将资源相关数据保存文件中,这种情况下我们就必须手动回收了。

21540

PHP5中魔术方法

那么与构造方法对应就是析构方法。 析构方法允许销毁一个类之前执行一些操作或完成一些功能,比如说关闭文件、释放结果集等。 析构方法是PHP5才引进内容。...五、 __get(),获得一个类成员变量时调用 php 面向对象编程中,类成员属性被设定为 private 后,如果我们试图在外面调用它则会出现“不能访问某个私有属性”错误。...虽然有以上两种情况,但我想说是同样如果你一个对象里面加上__unset()这个方法,就可以在对象外部去删除对象私有成员属性了。...在对象里面加上了__unset()这个方法之后,在对象外部使用“unset()”函数删除对象内部私有成员属性,对象会自动调用__unset()函数来帮我们删除对象内部私有成员属性。...1当在类外部使用unset()函数来删除私有成员自动调用 九、 __sleep(),执行serialize(),先会调用这个函数 serialize() 函数会检查类中是否存在一个魔术方法

2.6K10

Effective c++ 小结

用 const好处是,调试,可以直接获取变量,而非定义数字,这个使用gdb跟踪代码时候很有用,比如#define NUM 123;如果在gdb中print NUM,会出现NUM找不到符号表问题...从技术上说,其实没 有这样东西——标准化委员会在简化非C标准头文件用取代了它。他们这样做原 因在条款49进行了解释。...外面,它可以用于全局或名字空间常量(见条款1和47),以及静态对象(某一文件或程序块范围内局部对象)。内部,它可以用于静态和非静态成员(见条款12)。...value,如果传回reference的话,内部变量析构之后,引用没有真正对象 写一个必须返回一个对象函数正确方法就是让这个函数返回一个对象。...如果类D私有继承于类B,类型D对象只不过是用类型B对象来实现而已;类型B和类型D对象之间不存在概念上关系 如果是私有继承,编译器不会隐式将子类对象转化成基类对象 私有继承,基类所有函数子类都变成私有属性

75650

后台开发:核心技术与应用实践 -- C++

#include"" #include与#include""区别是:#include常用来包含系统提供文件,编译器会到保存系统标准头文件位置查找头文件;而#include""常用于包括程序员自己编号文件...,这些数据共享一段内存,不同时间里保存不同数据类型和长度变量,以达到节省空间目的,但同一间只能储存其中一个成员变量值。...基类成员派生类中访问属性: 公用继承(public inheritance):基类公用成员和保护成员派生类中保持原有访问属性,其私有成员仍为基类私有 私有继承(private inheritance...):基类公用成员和保护成员派生类中成了私有成员,其私有成员仍为基类私有 受保护继承(protected inheritance):基类公用成员和保护成员派生类中成了保护成员,其私有成员仍为基类私有...同时,无论哪一种继承方式,派生类中是不能访问基类私有 成员私有成员只能被本类成员函数所访问,毕竟派生类与基类不是同一个类 构造派生类对象,必须对基类数据成员、新增数据成员成员对象数据成员进行初始化

1.3K10

PHP之十六个魔术方法详解

那么与构造方法对应就是析构方法。 析构方法允许销毁一个类之前执行一些操作或完成一些功能,比如说关闭文件、释放结果集等。 析构方法是PHP5才引进内容。...五、 __get(),获得一个类成员变量时调用 php 面向对象编程中,类成员属性被设定为 private 后,如果我们试图在外面调用它则会出现“不能访问某个私有属性”错误。...2、 如果对象成员属性是私有的,我使用这个函数就没有权限去删除。...虽然有以上两种情况,但我想说是同样如果你一个对象里面加上__unset()这个方法,就可以在对象外部去删除对象私有成员属性了。...在对象里面加上了__unset()这个方法之后,在对象外部使用“unset()”函数删除对象内部私有成员属性,对象会自动调用__unset()函数来帮我们删除对象内部私有成员属性。

1.3K41
领券