- 2024-11-15.NET Core 反射底层原理浅谈
简介反射,反射,程序员的快乐。前期绑定与后期绑定在.NET中,前期绑定(EarlyBinding)是指在编译时就确定了对象的类型和方法,而后期绑定(LateBinding)或动态绑定是在运行时确定对象的类型和方法。前置知识:C#类型系统结构C#作为C++++,在类型系统上沿用C++的类型系统前期绑定在代
- 2024-10-30反射应用一InvokeMember
反射是.net中的高级功能之一,利用反射可以动态的实例化类的对象,并且可以调用其方法及成员属性。所以学习好反射是很重要的。今天我就写一写简单的反射实现InvokeMember至于关于这个函数,可以去MSDN上去查看。我只说一些和实际开发中的一些小例子。本例子要点:如何利用InvokeMember
- 2024-10-23wpf移除事件委托
publicclassEventHandlerHelper{publicstaticDelegateGetEventDelegate(RoutedEventHandlerInfo[]rehis,stringmethod_name){foreach(RoutedEventHandlerInforhinrehis){if(rh.Handler.Meth
- 2024-05-27C#访问或修改私有类、函数、变量、属性
publicstaticclassTypeUtl{publicstaticType?GetType(stringassemblyName,stringtypePath){varassembly=Assembly.Load(assemblyName);if(assembly==null)returnnull;returnassembly.Ge
- 2024-04-18C#反射使用
usingSystem.Reflection;namespaceTestReflection{internalclassProgram{staticvoidMain(string[]args){Console.WriteLine("TestReflection");Console.WriteLine("************************
- 2024-04-18C#反射使用
usingSystem.Reflection;namespaceTestReflection{internalclassProgram{staticvoidMain(string[]args){Console.WriteLine("TestReflection");Console.WriteLine("************************
- 2024-01-10.NET Core MemoryCache缓存批量获取Key或者删除
.NetCore下使用缓存,除了大家耳熟能详的Redis做分布式缓存外,本地内存缓存也会一起结合来使用,它存取更快,使我们的应用达到极致性能要求。这也是我们经常提到的3级或者4级缓存,每一层都有自己的使用场景,优缺点,结合业务特点来选择合适的才是王道。这里我们就使用Net原生的Microsoft
- 2023-08-08.net的反射机制
学习4点:1.反射有什么用,什么情况下用反射。 (参考资料http://dotnet.9sssd.com/csbase/art/733)2.通过简单的例子理解反射的运用。 (参考资料http://www.2cto.com/kf/201110/109636.html)3.通过复杂的例子理解更多反射的用法,
- 2023-06-18Datagridview双缓存
PrivateSubDLG_Load(senderAsObject,eAsEventArgs)HandlesMe.LoadDataGridView1.GetType.InvokeMember("DoubleBuffered",System.Reflection.BindingFlags.NonPublic_
- 2023-06-08visualstudio2022 ef6生成代码报错
StartNotepadinadministratormode,andopenthefile(substitutingCommunityforProfessionalorEnterprisedependingonyourversion):C:\ProgramFiles\MicrosoftVisualStudio\2022\Community\Common7\IDE\Extensions\Microsoft\EntityFrameworkTo
- 2023-05-24Net 如何获取私有属性
.Net的私有属性、成员变量、方法,都可以通过反射获取调用,当然正常我们不会这么操作此章只是做一个反射科普,像EFCore从数据库取值的底层框架就是通过反射直接操作私有的成员变量,而不是方法。直接上例子,先定义一个类publicclassTenantModel{
- 2023-04-03ConfigurationManager 读取的不是最新值
用ConfigurationManager修改配置后,ConfigurationManager读取的不是最新值。 解决方法:第一种:ConfigurationManager.RefreshSection("appSettings");//刷新appSettings节点(立即生效)ConfigurationManager.RefreshSection("connectionString");//刷新connect
- 2023-03-31RestSharp组件Get请求带body的时候返回数据丢失问题
postman的复制代码默认就是RestSharp。方便也好用,但是使用get请求并且带Body的时候要注意,返回的数据竟然会有丢失解决办法:stringRequestByGet(stringindex,stringaction,objectparamter){varapi=$"{ElasticsearchUrl}/{index}/{action}";HttpWebRequestre
- 2023-03-08MemoryCache 7.0.0.0 版本下获取所有缓存Key
在使用.Net7.0的过程种,用到微软的MemoryCache,在封装通用接口的时候需要获取所有CacheKey。目前搜索到的方案都是直接取“_entries”私有字段。但在7.0版本之后被包裹在
- 2023-03-06C# Get 带body
try{ //System.GC.Collect(); HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(URL); request.Proxy= null; request.Ke
- 2023-02-28C# 通过类型名字符串获取基础类型进行方法调用
switch(readtype){case"float":stringtargettype="System.Single";
- 2023-01-29U3D编辑器开发&粒子特效/动画预览器示例
概述U3D提供了一套拓展编辑器的接口,可以用于直接在编辑器非播放模式运行程序。常用于运行一些工具程序,例如资源管理。在做技能编辑器等工具程序时,也可以使用运行模式接口
- 2023-01-09C#设置程序集PrivatePath的几种方法
为了使用程序目录更加整洁和美观,我们会建立不同文件夹,分门另类地管理软件目录下的程序集和配置文件,要想使主程序能够读取它们,必须要设置PrivatePath路径,常用的方法包括:方
- 2023-01-05C#——转换两个不同类型但是成员相同的对象(代码实现)
点击查看代码///<summary>///转换两个不同类型但是成员相同的对象///</summary>///<typeparamname="T">目标对象</typeparam>
- 2022-11-30.net 7 获取所有缓存键的问题?
这里是群友提供听说是issue提的问题,高手回答的。varcoherentState=_cache.GetType().GetField("_coherentState",BindingFlags.NonPublic|BindingFlags.Instance);
- 2022-11-21Net6 反射反射程序员的快乐/遍历属性、字段、构造方法、函数及相关操作
十年河东,十年河西,莫欺少年穷学无止境,精益求精反射反射,程序员的快乐,利用反射可以获取到私有属性及其值 在C#中反射无处不在,用好反射,就可以为所欲为有这么一个学生类:publicc
- 2022-11-09Net6 反射反射程序员的快乐/遍历属性、字段、构造方法、函数及相关操作
十年河东,十年河西,莫欺少年穷学无止境,精益求精反射反射,程序员的快乐,利用反射可以获取到私有属性及其值 在C#中反射无处不在,用好反射,就可以为所欲为有这么一个学生类:
- 2022-09-25WPF获取系统dpi
WPF获取系统dpivardpiX=(int)typeof(SystemParameters).GetProperty("DpiX",BindingFlags.NonPublic|BindingFlags.Static).GetValue(null,null);vardpiY=(int
- 2022-09-18C# DataGridView防止闪烁的方法
启用dataGridView的双缓冲即可解决,方法如下:Typetype=dataGridView.GetType();PropertyInfopi=type.GetProperty("DoubleBuffered",
- 2022-08-15vb.net listview 开启双缓存
vb.netlistview刷新时闪烁 因为Doublebuffered属性为protected无法直接修改.网友提供方法,使用反射修改DoubleBuffered属性 LV1.[GetType]().GetProp